我听说C++不提供对多线程的 native 支持。我假设多线程C++应用程序依赖于托管代码来实现多线程。也就是说,例如,Visual C++应用程序使用MFC或.NET或类似的东西来提供多线程功能。我进一步假设非托管应用程序无法使用其中某些或所有托管代码功能。但是我已经阅读了有关非托管多线程应用程序的信息。这怎么可能?我的哪个假设是错误的?

最佳答案

提供多线程支持完全取决于操作系统。在Windows上,可以通过Win32 API获得必要的功能。诸如MFC之类的框架为低级线程功能提供了包装,以简化操作,而.NET/CLR当然具有自己的托管接口(interface)来访问Win32多线程功能。

this article(C++中的多线程)提供了很好的解释。

09-16 08:39