如何新建线程并绑定至CPU核1上
要新建线程并绑定到CPU核1上,您可以按照以下步骤操作:
- 导入 threading 和 multiprocessing 模块:
import threading
import multiprocessing
- 定义一个函数作为新线程的执行体:
def my_thread_func():
# 你的线程代码
- 创建一个线程对象,并使用 target 参数指定执行体为上一步定义的函数:
my_thread = threading.Thread(target=my_thread_func)
- 使用 multiprocessing 模块的 cpu_count() 函数获取系统可用的 CPU 核心数:
num_cores = multiprocessing.cpu_count()
- 创建一个 CPU 绑定的线程池对象,并使用其方法 set_affinity() 将线程绑定到指定的 CPU 核心上:
cpu_pool = multiprocessing.Pool(processes=num_cores)
cpu_pool.apply_async(my_thread.start, (), {'cpu_list': [1]})
注:上述代码中的参数 'cpu_list': [1] 表示将线程绑定到 CPU 核心 1 上。
完整代码示例:
import threading
import multiprocessing
def my_thread_func():
# 你的线程代码
my_thread = threading.Thread(target=my_thread_func)
num_cores = multiprocessing.cpu_count()
cpu_pool = multiprocessing.Pool(processes=num_cores)
cpu_pool.apply_async(my_thread.start, (), {'cpu_list': [1]})
原文地址: http://www.cveoy.top/t/topic/mZA 著作权归作者所有。请勿转载和采集!