c - 细粒度多线程——一个工作任务应该做多少事情?

标签 c multithreading

我正在使用 work_pile 模式,因此线程始终运行并等待信号量传入队列中的新函数指针和数据。这就是苹果营销人员现在所说的 Grand Central Dispatch 并作为新的切片面包进行推广。

我只是想知道如何确定将一个短任务分成两个更短的任务是否有用。是否有规则可以判断是否值得对新对象进行排队?

最佳答案

两个可能的答案:

  • 这要看情况。
  • 对其进行基准测试。

我更喜欢第二个。

无论如何,如果两个任务总是一个接一个地运行(即按顺序运行),我认为拆分它们没有任何好处。

关于c - 细粒度多线程——一个工作任务应该做多少事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1334370/

相关文章:

c - 错误 LNK2001 : unresolved reference with Pro*C code with Visual C++

c - 为 Linux 内核搜索 tcp 的滑动窗口协议(protocol)实现

java - 限制迭代器的线程和/或重用线程?

c - 如何让节拍器在程序录音的同时播放?

c - 检测字符串是否仅由空格组成?

c - 如何将数组的后半部分逐个合并到前半部分?

swift - Swift 4 中的多线程 for 循环

multithreading - Prolog - thread_join 问题

c# - 如何从 C# 中的不同线程构造新的 WPF 表单

c - 循环展开,性能实验室