获取 CPU 数量并根据其数量分配线程数,你可以使用 Python 中的 os
模块和 multiprocessing
模块
import os
import multiprocessing
def get_cpu_count():
"""获取 CPU 数量"""
return os.cpu_count()
def allocate_threads():
"""根据 CPU 数量分配线程数"""
cpu_count = get_cpu_count()
if cpu_count is None:
return 1 # 如果无法获取 CPU 数量,则默认为一个线程
elif cpu_count == 1:
return 1 # 如果只有一个 CPU,则使用一个线程
else:
return min(cpu_count * 2, 16) # 根据 CPU 数量动态分配线程数;min() 函数用于在多个参数中找到最小值, 例如,最多使用 16 个线程
if __name__ == "__main__":
num_threads = allocate_threads()
print(f"CPU 数量: {get_cpu_count()}")
print(f"线程数量: {num_threads}")