Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取.NET线程类型?_.net_Multithreading - Fatal编程技术网

获取.NET线程类型?

获取.NET线程类型?,.net,multithreading,.net,Multithreading,从.NET中的当前进程中,我可以获得其所有线程的列表。有可能找出它是什么类型的线吗?要获取详细信息,例如工作线程、IO、CLR、背景或主线程?没有一个一刀切的解决方案 您可以检查Thread.IsBackground属性以查看它是否是后台线程(这取决于属性正在使用的后台定义) 以后可以利用Thread.NameName属性来识别它 您可以使用将信息“填充”到线程中,稍后可以提取该线程来识别它 您可以使用线程.IsThreadPoolThread查看它是否是由线程池管理的线程 每种方法都有各自

从.NET中的当前进程中,我可以获得其所有线程的列表。有可能找出它是什么类型的线吗?要获取详细信息,例如工作线程、IO、CLR、背景或主线程?

没有一个一刀切的解决方案

  • 您可以检查
    Thread.IsBackground
    属性以查看它是否是后台线程(这取决于属性正在使用的后台定义)
  • 以后可以利用
    Thread.Name
    Name属性来识别它
  • 您可以使用将信息“填充”到线程中,稍后可以提取该线程来识别它
  • 您可以使用
    线程.IsThreadPoolThread
    查看它是否是由线程池管理的线程
每种方法都有各自的优缺点。我想你会发现,如果没有提前附加一些信息,就很难识别一个线程