QThreads与Pthreads

blu*_*kin 8 qt pthreads

我有一个快速的问题.我应该创建一个小型多线程程序来从多个传感器中获取数据,并且我知道pthreads和qthreads.我可以访问这两个库.我个人偏向于使用Qt,因为它的设计和各种功能.但是使用一个与另一个有明显的优势吗?谢谢

peo*_*oro 8

QThreads建立在pthreads之上.它们提供了面向对象的抽象,使得使用线程更容易.除了QThreads是可移植的,它们可以在使用底层线程系统的任何系统上运行,而pthreads是特定于POSIX系统的.

使用QThreads几乎唯一的缺点是你需要将你的应用程序与Qt链接; 这种依赖性可能会使分发您的应用程序变得更加困难.

  • 唯一的分发问题是,当您动态链接到qt库时,必须包含LGPL许可证以及代码(假设您使用的是开源而非商业源版本).在Windows上,如果您不确定要分发哪个DLLS,请使用`depends.exe`,它会准确地告诉您!http://www.dependencywalker.com/ (2认同)

小智 5

但是你必须知道QThreads使用事件循环来管理它,所以你不能像pthread那样直接杀死线程。如果线程进行长时间且艰苦的工作,则在不释放它的情况下不可能停止它。在某些情况下这很重要。