使用C/C++创建多线程应用程序的最简单方法是什么?

Som*_*ser 6 c++ multithreading

使用C/C++创建多线程应用程序的最简单方法是什么?

Est*_*ber 14

没有 简单的方法来创建多线程应用程序的任何语言.

  • 这不是真的.为任务选择正确的语言可以使多线程编程变得容易. (8认同)
  • 对于简单的语言,多线程编程可以看起来很简单,但它是最难解决的编程问题之一.*如果您认为自己足够聪明以实现正确的多线程,那么您最不可能* (6认同)
  • Amuck:多线程编程绝非易事.无论支持程度如何,多线程编程的颠簸,旋转,死锁和所有其他陷阱都不容易克服. (4认同)
  • 我问最简单的方法 (3认同)
  • 即使编写多线程应用程序的每种方法都很难,但根据定义,至少其中一个方法必须是最简单的.:p (2认同)

veh*_*zzz 14

不幸的是,没有简单的方法.几个选项:Linux上的pthread,windows上的win32 api线程或boost :: thread库


Tob*_*ner 8

仅提及它,因为它没有被提及:具有OpenMP支持的编译器(http://openmp.org/wp/)


Dir*_*tel 7

Qt有一个非常好的 线程支持和文档, 但正如其他人警告的那样,这不适合初学者.我给自己的文档链接指向一个简短的阅读列表


Car*_*rum 5

并行线程!

https://computing.llnl.gov/tutorials/pthreads/

  • 这是我认为无益的东西,特别是与推荐的推荐相比.Posix不容易移植到Win32环境,并且API很简单,因为你可以获得. (4认同)

Ala*_*lan 5

对此没有简单的答案.它在很大程度上取决于您希望从多线程,平台/编译器以及您想要使用的线程模型中获得什么.每个线程API都有其缺陷.

仅仅因为到目前为止还没有人提到它,OpenMP是许多现代主流编译器支持的另一种选择,旨在简化并发的使用. http://openmp.org/wp/