【发布时间】:2011-03-09 05:47:34
【问题描述】:
我在互联网上看到了在 Windows 上使用 C++ 制作多线程应用程序的教程,以及在 Linux 上做同样事情的其他教程,但不是同时用于两者。是否有即使在 Linux 或 Windows 上编译也可以工作的函数?
【问题讨论】:
标签: c++ multithreading
我在互联网上看到了在 Windows 上使用 C++ 制作多线程应用程序的教程,以及在 Linux 上做同样事情的其他教程,但不是同时用于两者。是否有即使在 Linux 或 Windows 上编译也可以工作的函数?
【问题讨论】:
标签: c++ multithreading
我建议TinyThread++ 或TinyCThread。 我开始使用 TinyCThread,我发现它非常简单,它支持许多系统,包括 Windows 和 Linux。
【讨论】:
TBB's threads 中还提供了一个可移植选项。当然,TBB 鼓励您使用tasks 而不是threads 的概念,但是如果您只需要线程,那么this example 会有所帮助(您必须将已弃用的标头和线程声明转换为新的那些)。
【讨论】:
或者你可以使用ZThread,它相对于boost::thread来说相当轻量级
【讨论】:
您还可以查看来自诺基亚 Qt 的QThread
【讨论】:
您可以使用 POSIX 线程并使用此库在 Windows 上获取 pthread。
http://sourceware.org/pthreads-win32/
(如果您已经非常习惯在 POSIX 系统上进行线程处理,这可能只是一个不错的选择...)
【讨论】:
您需要使用一个库,该库包含 Linux 上的 pthread 和 Windows 上的 Win32 线程库(CreateThread 和朋友)的实现。
Boost thread 是一种流行的选择,它将系统抽象出来。
【讨论】:
您应该查看 boost 库。
【讨论】:
您可以从boost::thread 开始。该库提供了一个抽象层,并在内部针对每个受支持平台的本机线程 API 工作。
【讨论】: