获取cpu,根据cpu数量分配线程数

获取 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}")

Last updated