class System.Threading.Thread
   inherits System.Runtime.ConstrainedExecution.CriticalFinalizerObject
   implements System.Runtime.InteropServices._Thread
   final:

   def public property ManagedThreadId as integer
      get.

   def public property ExecutionContext as System.Threading.ExecutionContext
      get.

   def public property Priority as System.Threading.ThreadPriority
      get.
      set.

   def public property IsAlive as logical
      get.

   def public property IsThreadPoolThread as logical
      get.

   def public static property CurrentThread as System.Threading.Thread
      get.

   def public property IsBackground as logical
      get.
      set.

   def public property ThreadState as System.Threading.ThreadState
      get.

   def public property ApartmentState as System.Threading.ApartmentState
      get.
      set.

   def public property CurrentUICulture as System.Globalization.CultureInfo
      get.
      set.

   def public property CurrentCulture as System.Globalization.CultureInfo
      get.
      set.

   def public static property CurrentContext as System.Runtime.Remoting.Contexts.Context
      get.

   def public static property CurrentPrincipal as System.Security.Principal.IPrincipal
      get.
      set.

   def public property Name as character
      get.
      set.

   constructor public Thread(input start as System.Threading.ThreadStart):
   end constructor.

   constructor public Thread(input start as System.Threading.ThreadStart, input maxStackSize as integer):
   end constructor.

   constructor public Thread(input start as System.Threading.ParameterizedThreadStart):
   end constructor.

   constructor public Thread(input start as System.Threading.ParameterizedThreadStart, input maxStackSize as integer):
   end constructor.

   method public final override integer GetHashCode():
   end method.

   method public final void Start():
   end method.

   method public final void Start(input parameter as System.Object):
   end method.

   method public final void SetCompressedStack(input stack as System.Threading.CompressedStack):
   end method.

   method public final System.Threading.CompressedStack GetCompressedStack():
   end method.

   method public final void Abort(input stateInfo as System.Object):
   end method.

   method public final void Abort():
   end method.

   method public final static void ResetAbort():
   end method.

   method public final void Suspend():
   end method.

   method public final void Resume():
   end method.

   method public final void Interrupt():
   end method.

   method public final void Join():
   end method.

   method public final logical Join(input millisecondsTimeout as integer):
   end method.

   method public final logical Join(input timeout as System.TimeSpan):
   end method.

   method public final static void Sleep(input millisecondsTimeout as integer):
   end method.

   method public final static void Sleep(input timeout as System.TimeSpan):
   end method.

   method public final static void SpinWait(input iterations as integer):
   end method.

   method public final static logical Yield():
   end method.

   method protected final override void Finalize():
   end method.

   method public final void DisableComObjectEagerCleanup():
   end method.

   method public final System.Threading.ApartmentState GetApartmentState():
   end method.

   method public final logical TrySetApartmentState(input state as System.Threading.ApartmentState):
   end method.

   method public final void SetApartmentState(input state as System.Threading.ApartmentState):
   end method.

   method public final static System.LocalDataStoreSlot AllocateDataSlot():
   end method.

   method public final static System.LocalDataStoreSlot AllocateNamedDataSlot(input name as character):
   end method.

   method public final static System.LocalDataStoreSlot GetNamedDataSlot(input name as character):
   end method.

   method public final static void FreeNamedDataSlot(input name as character):
   end method.

   method public final static System.Object GetData(input slot as System.LocalDataStoreSlot):
   end method.

   method public final static void SetData(input slot as System.LocalDataStoreSlot, input data as System.Object):
   end method.

   method public final static System.AppDomain GetDomain():
   end method.

   method public final static integer GetDomainID():
   end method.

   method public final static void BeginCriticalRegion():
   end method.

   method public final static void EndCriticalRegion():
   end method.

   method public final static void BeginThreadAffinity():
   end method.

   method public final static void EndThreadAffinity():
   end method.

   method public final static integer VolatileRead(input address as integer):
   end method.

   method public final static integer VolatileRead(input address as integer):
   end method.

   method public final static integer VolatileRead(input address as integer):
   end method.

   method public final static int64 VolatileRead(input address as int64):
   end method.

   method public final static integer VolatileRead(input address as integer):
   end method.

   method public final static integer VolatileRead(input address as integer):
   end method.

   method public final static integer VolatileRead(input address as integer):
   end method.

   method public final static System.IntPtr VolatileRead(input address as System.IntPtr):
   end method.

   method public final static System.UIntPtr VolatileRead(input address as System.UIntPtr):
   end method.

   method public final static int64 VolatileRead(input address as int64):
   end method.

   method public final static decimal VolatileRead(input address as decimal):
   end method.

   method public final static decimal VolatileRead(input address as decimal):
   end method.

   method public final static System.Object VolatileRead(input address as System.Object):
   end method.

   method public final static void VolatileWrite(input address as integer, input value as integer):
   end method.

   method public final static void VolatileWrite(input address as integer, input value as integer):
   end method.

   method public final static void VolatileWrite(input address as integer, input value as integer):
   end method.

   method public final static void VolatileWrite(input address as int64, input value as int64):
   end method.

   method public final static void VolatileWrite(input address as integer, input value as integer):
   end method.

   method public final static void VolatileWrite(input address as integer, input value as integer):
   end method.

   method public final static void VolatileWrite(input address as integer, input value as integer):
   end method.

   method public final static void VolatileWrite(input address as System.IntPtr, input value as System.IntPtr):
   end method.

   method public final static void VolatileWrite(input address as System.UIntPtr, input value as System.UIntPtr):
   end method.

   method public final static void VolatileWrite(input address as int64, input value as int64):
   end method.

   method public final static void VolatileWrite(input address as decimal, input value as decimal):
   end method.

   method public final static void VolatileWrite(input address as decimal, input value as decimal):
   end method.

   method public final static void VolatileWrite(input address as System.Object, input value as System.Object):
   end method.

   method public final static void MemoryBarrier():
   end method.

end class.
