我正在使用 ThreadPool
在Windows服务中执行一组任务。该服务每10秒生成新线程。我想记录从数据库中选取特定任务的线程名称。是否可以获取线程名称?
我正在使用 ThreadPool
在Windows服务中执行一组任务。该服务每10秒生成新线程。我想记录从数据库中选取特定任务的线程名称。是否可以获取线程名称?
最简单的方法是从每个线程的上下文中进行操作,因为您可以使用CurrentThread属性并访问所有与线程相关的属性:
System.Threading.Thread.CurrentThread.Name
就像之前的一位发帖者所提到的,然而,在线程池内部这个意义将会有多大,我并不确定。
我不知道线程池线程是否被分配了有意义的名称,但您始终应该能够使用CurrentThread的ManagedThreadId进行调试/日志记录。
使用线程池中的线程时,不要尝试更改线程状态。这些线程不属于您,而是属于运行时。您不希望更改您不拥有的东西。
Threading.Thread.CurrentThread.Name