【问题标题】:if I do sched_setaffinity in a process, do the threads spawned by it get affected如果我在进程中执行 sched_setaffinity,它产生的线程会受到影响吗
【发布时间】:2021-09-04 05:59:17
【问题描述】:

如果我这样做:CreateThreads,setched_affinity 到 CPU 0,那么所有线程也会对 CPU 0 有亲和力 相反,如果我颠倒操作顺序,即先 set_schedaffinity 然后创建线程,线程是否具有亲和力

我正在使用 pthreads 库创建线程。感谢您的任何回答

【问题讨论】:

    标签: pthreads affinity


    【解决方案1】:

    sched_setaffinity() 调用是特定于 Linux 的,因此该答案适用于那里。

    sched_setaffinity() 的调用仅影响单个线程。使用pthread_create() 创建的线程会继承其父级的 CPU 亲和性掩码。

    这意味着如果在创建其他线程后更改当前线程的亲和性,它们的亲和性将保持默认;但如果你以相反的顺序执行,它们将继承更改后的亲和集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多