代码之家  ›  专栏  ›  技术社区  ›  Kaveh Shahbazian

TaskCreationOptions.LongRunning选项和线程池

  •  24
  • Kaveh Shahbazian  · 技术社区  · 15 年前

    TPL使用任务调度器来协调任务。根据 official document ,默认任务计划程序使用线程池,但如果 TaskCreationOptions.LongRunning

    2 回复  |  直到 10 年前
        1
  •  37
  •   Mau    15 年前

    对, LongRunning 强制在池外创建新线程。以下是最新框架版本中的一些伪反汇编代码:

    ...
    if (task.Options HasFlag LongRunning) then
        create new Thread thread
        thread.Start(task)
    ...
    

        2
  •  14
  •   Tim Lloyd    15 年前

    大概您可以使用“Thread.IsThreadPoolThread”来检查这一点:

    http://msdn.microsoft.com/en-us/library/system.threading.thread.isthreadpoolthread.aspx