在.Net Framework
创建中,实际上调用System.Threading.Thread
的Start()
导致调用操作系统、基于 Windows 的系统、内核,为调用者进程提供全新的线程。
.Net Core
中的情况是否发生变化?它在 Linux 或 Mac OS 上是否做同样的事情 - 调用操作系统内核来创建一个全新的线程和 System.Threading.Thread 类的实例包装实际的操作系统线程?
如果不是,那么我如何描述 .NET Core
跨平台世界中的 System.Threading.Thread
是什么?
最佳答案
在这两种情况下,CLR 都使用操作系统线程。
为了启动新线程,CLR 调用CreateThread
。在 Windows 上,这直接映射到 Win32 API。在 Unix 上,它通过 an indirection最终调用 pthread_create
关于c# - System.Threading.Thread 在 .NET Core 中的含义与在 .NET Framework 中的含义相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53502797/