Свойство CurrentThread
CurrentThread статическое.
В Main флаг
IsThreadPoolThread
обычно false. Номер -
ManagedThreadId.
Работа из пула -
ThreadPool.
Синтаксис
Thread thread = Thread.CurrentThread;
Пример
Давайте проверить Main
на пул:
using System;
using System.Threading;
class Program
{
static void Main()
{
bool res = Thread.CurrentThread.IsThreadPoolThread;
Console.WriteLine(res);
}
}
Результат выполнения кода:
False
Пример
Давайте сравнить CurrentThread
внутри нового потока:
using System;
using System.Threading;
class Program
{
static void Main()
{
bool fromPool = true;
var thread = new Thread(() =>
{
fromPool = Thread.CurrentThread.IsThreadPoolThread;
});
thread.Start();
thread.Join();
bool res = fromPool;
Console.WriteLine(res);
}
}
Результат выполнения кода:
False
Пример
Давайте убедиться, что
CurrentThread не null:
using System;
using System.Threading;
class Program
{
static void Main()
{
bool res = Thread.CurrentThread != null;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Смотрите также
-
ManagedThreadId,
номер потока -
QueueUserWorkItem,
пуловый поток -
IsBackground,
фоновый режим -
Thread,
создание потока