A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://learn.microsoft.com/en-us/dotnet/api/system.threading.thread.isthreadpoolthread below:

Thread.IsThreadPoolThread Property (System.Threading) | Microsoft Learn

Thread.IsThreadPoolThread Property Definition

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

public:
 property bool IsThreadPoolThread { bool get(); };
public bool IsThreadPoolThread { get; }
member this.IsThreadPoolThread : bool
Public ReadOnly Property IsThreadPoolThread As Boolean
Property Value

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

Examples

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

using System;
using System.Threading;

class IsThreadPool
{
    static void Main()
    {
        AutoResetEvent autoEvent = new AutoResetEvent(false);

        Thread regularThread = 
            new Thread(new ThreadStart(ThreadMethod));
        regularThread.Start();
        ThreadPool.QueueUserWorkItem(new WaitCallback(WorkMethod), 
            autoEvent);

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

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

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

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

        // Signal that this thread is finished.
        ((AutoResetEvent)stateInfo).Set();
    }
}
open System.Threading

let threadMethod () =
    printfn
        $"""ThreadOne, executing ThreadMethod, is {if Thread.CurrentThread.IsThreadPoolThread then
                                                       ""
                                                   else
                                                       "not "}from the thread pool."""

let workMethod stateInfo =
    printfn
        $"""ThreadTwo, executing WorkMethod, is {if Thread.CurrentThread.IsThreadPoolThread then
                                                     ""
                                                 else
                                                     "not "}from the thread pool."""

    // Signal that this thread is finished.
    (unbox<AutoResetEvent> stateInfo).Set() |> ignore

let autoEvent = new AutoResetEvent false

let regularThread = Thread threadMethod
regularThread.Start()
ThreadPool.QueueUserWorkItem(workMethod, autoEvent) |> ignore

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

// Wait for background thread to end.
autoEvent.WaitOne() |> ignore
Option Explicit
Option Strict

Imports System.Threading

Public Class IsThreadPool

    <MTAThread> _
    Shared Sub Main()
        Dim autoEvent As New AutoResetEvent(False)

        Dim regularThread As New Thread(AddressOf ThreadMethod)
        regularThread.Start()
        ThreadPool.QueueUserWorkItem(AddressOf WorkMethod, autoEvent)

        ' Wait for foreground thread to end.
        regularThread.Join()

        ' Wait for background thread to end.
        autoEvent.WaitOne()
    End Sub

    Shared Sub ThreadMethod()
        Console.WriteLine("ThreadOne, executing ThreadMethod, " & _
            "is from the thread pool? {0}", _
            Thread.CurrentThread.IsThreadPoolThread)
    End Sub

    Shared Sub WorkMethod(stateInfo As Object)
        Console.WriteLine("ThreadTwo, executing WorkMethod, " & _
            "is from the thread pool? {0}", _
            Thread.CurrentThread.IsThreadPoolThread)

        ' Signal that this thread is finished.
        DirectCast(stateInfo, AutoResetEvent).Set()
    End Sub

End Class
Remarks

For more information see The managed thread pool.

See also

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4