请问为什么我在调试我的项目时会有那么多线程?
我启动我的控制台应用程序(.net 4.5),可以看到以下线程:
[8064][Thread Destroyed]
[5528]<No Name>
[9048]<No Name>
[1760]<No Name>
[6836]vshost.RunParkingWindow
[10200].NET SystemEvents
[9692]Main Thread
当我使用3次迭代运行Parallel.For时,我会得到以下线程:
[0]Thread Ended
[10140]<No Name>
[4464]<No Name>
[5332]<No Name>
[6772]vshost.RunParkingWindow
[8660].NET SystemEvents
[6728]Main Thread
[8580]Worker Thread
[9332]Worker Thread
[9168]Worker Thread
[1336]<No Name>
[9464]<No Name>
我假设这3个工作线程是为了我的Parallel.For循环中的3次迭代,但是:
- 为什么会销毁一个线程?
- 为什么没有命名的线程?
- 什么是RunParkingWindow?
- 为什么某些线程ID(例如主线程)会改变?
- 为什么当我运行Parallel.For时会有额外的2个无名称线程?