Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Thread::IsThreadPoolThread Property

 

Gets a value indicating whether or not a thread belongs to the managed thread pool.

Namespace:   System.Threading
Assembly:  mscorlib (in mscorlib.dll)

public:
property bool IsThreadPoolThread {
	bool get();
}

Property Value

Type: System::Boolean

true if this thread belongs to the managed thread pool; otherwise, false.

For more information see The Managed Thread Pool.

The following code example shows how to determine whether a thread is from the thread pool.

using namespace System;
using namespace System::Threading;
ref class IsThreadPool
{
public:

   static void ThreadMethod()
   {
      Console::WriteLine( "ThreadOne, executing ThreadMethod, "
      "is {0}from the thread pool.", Thread::CurrentThread->IsThreadPoolThread ? (String^)"" : "not " );
   }


   static void WorkMethod( Object^ stateInfo )
   {
      Console::WriteLine( "ThreadTwo, executing WorkMethod, "
      "is {0}from the thread pool.", Thread::CurrentThread->IsThreadPoolThread ? (String^)"" : "not " );

      // Signal that this thread is finished.
      dynamic_cast<AutoResetEvent^>(stateInfo)->Set();
   }

};

int main()
{
   AutoResetEvent^ autoEvent = gcnew AutoResetEvent( false );
   Thread^ regularThread = gcnew Thread( gcnew ThreadStart( &IsThreadPool::ThreadMethod ) );
   regularThread->Start();
   ThreadPool::QueueUserWorkItem( gcnew WaitCallback( &IsThreadPool::WorkMethod ), autoEvent );

   // Wait for foreground thread to end.
   regularThread->Join();

   // Wait for background thread to end.
   autoEvent->WaitOne();
}

.NET Framework
Available since 1.1
Return to top
Show:
© 2017 Microsoft