最好的多线程方法?
时间:2020-03-05 18:47:26 来源:igfitidea点击:
用C语言实现多线程的最佳方法是什么?我想要的是非常有效的东西,而不是CPU消耗的东西。谢谢。
解决方案
回答
如果我们使用的是基于UNIX的平台(Linux或者Mac OS X),则最好的选择是POSIX线程。它们是POSIX环境中多线程的标准跨平台方式。它们也可以在Windows中使用,但是该平台可能有更好的(更本地的)解决方案。
回答
问题有些笼统,无法有效回答。我们可能会研究以下内容:
Windows SDK中的CreateThread
boost ::线程
回答
在C和Windows上执行此操作的正确(标准)方法是使用__beginthreadex。
通常,这比直接调用CreateThread更可取,因为CreateThread不会初始化C运行时对该线程的支持。因此,如果使用CreateThread创建线程并调用CRT函数,则可能会/将会发生错误的事情。
请注意,__ beginthreadex在内部调用CreateThread,但在后台执行其他一些工作。