相关疑难解决方法(0)

如何设置特定pthread的CPU亲和力?

我想指定特定pthread的cpu-affinity.到目前为止,我发现的所有引用都涉及设置进程的cpu-affinity(pid_t)而不是线程(pthread_t).我尝试了一些传递pthread_t的实验,正如预期的那样,它们会失败.我想做一些不可能的事吗?如果没有,你能发一个指针吗?太感谢了.

cpu multithreading processor affinity

56
推荐指数
3
解决办法
7万
查看次数

多核用法,线程,线程池

我对多线程编程和多核使用有一些疑问.

特别是我想知道操作系统和/或框架(这是.NET)如何处理大量使用的核心.

这是关于线程的问题:

  • 当产生新线程时,将线程分配给特定核心的算法是什么?
    1. 循环型算法
    2. 随机
    3. 目前使用最少的核心
  • 如果不是当前最少使用的核心,那么确定这种类型的代码是否会使线程的典型使用相形见绌,从而使事情变得更糟?
  • 线程在生命周期内是否从一个核心移动到另一个核心?如果是这样,这是否会处理由于某种原因"过度使用"的内核,因此操作系统会尝试将线程混洗到较少使用的内核以帮助系统?如果不是,为什么不呢?

我的最后一个问题,基本上是上面的重用,是关于.NET ThreadPool类,它处理诸如.BeginInvoke之类的东西.这堂课有没有做过这些?如果没有,为什么不,或者应该呢?

有没有办法调整这个处理,在操作系统上提示这个特定的线程,当你为它分配一个核心时请多关注它,因为我知道它会使用很多cpu.那会有意义吗?或者"很多cpu"只是相对的,因此不够好?

.net multithreading multicore

9
推荐指数
2
解决办法
3914
查看次数

标签 统计

multithreading ×2

.net ×1

affinity ×1

cpu ×1

multicore ×1

processor ×1