最好的多线程方法?

时间: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,但在后台执行其他一些工作。