【发布时间】:2010-09-07 18:29:06
【问题描述】:
在 C 语言中实现多线程的最佳方式是什么?我想要一些非常高效而不是 CPU 的东西。谢谢。
【问题讨论】:
标签: c multithreading
在 C 语言中实现多线程的最佳方式是什么?我想要一些非常高效而不是 CPU 的东西。谢谢。
【问题讨论】:
标签: c multithreading
在 C 和 Windows 上执行此操作的正确(标准)方法是使用 __beginthreadex。
这通常比直接调用CreateThread 更可取,因为 CreateThread 不会为线程初始化 C 运行时支持。因此,如果您使用 CreateThread 创建线程并调用 CRT 函数,则可能/将会发生坏事。
请注意,__beginthreadex 在内部调用 CreateThread,但在后台执行一些其他工作。
【讨论】:
您的问题有点笼统,无法有效回答。您可能会查看以下内容:
windows SDK中的CreateThread
升压::线程
【讨论】:
如果您使用的是基于 UNIX 的平台(Linux 或 Mac OS X),您最好的选择是POSIX threads。它们是 POSIX 环境中多线程的标准跨平台方式。它们也可以在 Windows 中使用,但该平台可能有更好(更本机)的解决方案。
【讨论】: