当运行一个简单的 GUI WPF 应用程序时,根本不使用 async/await。我没有通过 Task.Run
创建任何新线程,但由于某种原因,这是 Visual Studio 控制台中显示的内容:
The thread 0x1058 has exited with code 0 (0x0).
The thread 0x1b0c has exited with code 0 (0x0).
The thread 0x1ae4 has exited with code 0 (0x0).
这些线程是什么?谁在创造它们?如果我看到这一点,则意味着我调用的某些方法创建了新线程,对吗?
最佳答案
What are these threads? Who's creating them?
这些线程是由 CLR 创建的托管线程,它们用于执行代码。此外,当线程以代码 0 退出时,意味着没有发生错误。
I'm not creating any new threads by Task.Run
这是不正确的。 Task.Run
使用 CLR 托管线程池中的线程。它不会创建任何新线程。这是 CLR 在需要时做出的决定。
关于c# - 什么在我的应用程序中创建新线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33688988/