Linux 对我来说是一个新平台。我已经用 C++ 在 Windows 上编码多年,并且已经习惯了该平台上的多线程。
当我需要在 linux 平台上学习 c++ 时,C++11 出现了。
Linux 似乎在大多数情况下使用 pthreads - 好吧还有 boost::threads 和 QT 也有自己的线程。但是随着 C++11 的出现,std::thread 是一种全新的(跨平台和 C++ 标准)处理线程的方法。
所以我想我必须学习 pthreads 和 std::threads。最终,std::thread 似乎更重要,但是那里有很多遗留代码,所以我必须知道两者。
对于 Windows 上的线程同步,我会使用WaitForMultipleObjects来等待一些任务完成,然后再继续进一步的工作。
pthread 是否存在类似的同步机制?标准::线程?
我看过pthread_join,它似乎可以一次只等待一个线程。我是否错过了另一个 pthread 调用?