Fedora中的多线程

时间:2011-12-30 11:59:37

标签: linux multithreading fedora

我用ptgread编写了一个多线程程序。我的CPU是双核心。但该程序并不是平行运行的。我将系统监控附加如下。 我的问题是,是否支持fedora13多线程? enter image description here

1 个答案:

答案 0 :(得分:0)

您的问题不完整,因此此答案可能无效。将修改更多信息。

但是,您应该能够解决的一些提示。

  1. 是否有线程在等待另一个?
  2. 在两个线程都在有效睡眠的线程中是否存在死锁?
  3. 是否涉及太多I / O? (等待套接字,读取,写入磁盘,甚至重型printfs都包含此内容)
  4. 是否有任何线程长时间睡眠(usleep,nanosleep任何人......)
  5. 如果上述条件中的任何一个为真,即使CPU可用,因为有效指令集需要等到有效的后退日志完成。

    问题的第二个限制是测量。你有图表是系统通过。即使你有一个CPU,线程切换也可以是如此透明,因为线程切换的时间很短(10s或100s)毫秒。如果你的每个线程都在同一个CPU上运行 - 你永远不会说这些线程何时切换。事实上,您所看到的图形不仅由您的2个线程共享 - 而是在系统中运行的许多进程。

    但正如我所说 - 如果你提供完整的细节我只会更有效。