python代码实现
import os
import multiprocessing
def get_best_process_and_thread_count():
cpu_count = os.cpu_count() # 获取 CPU 核心数
# 根据 CPU 和 I/O 密集型任务设定的最佳进程和线程数
best_process_count = cpu_count
best_thread_count_io = cpu_count * 2 # I/O 密集型任务
best_thread_count_cpu = cpu_count # CPU 密集型任务
print(f"CPU 核心数: {cpu_count}")
print(f"最佳进程数: {best_process_count}")
print(f"最佳线程数(I/O 密集型任务): {best_thread_count_io}")
print(f"最佳线程数(CPU 密集型任务): {best_thread_count_cpu}")
if __name__ == "__main__":
get_best_process_and_thread_count()
linux:C实现
#include <stdio.h>
#include <unistd.h>
int main() {
// 获取当前系统的 CPU 核心数
long cpu_count = sysconf(_SC_NPROCESSORS_ONLN);
if (cpu_count == -1) {
perror("sysconf");
return 1;
}
// 根据 CPU 核心数计算最佳进程数和线程数
long best_process_count = cpu_count; // CPU 密集型任务
long best_thread_count_io = cpu_count * 2; // I/O 密集型任务
long best_thread_count_cpu = cpu_count; // CPU 密集型任务
// 输出结果
printf("CPU 核心数: %ld\n", cpu_count);
printf("最佳进程数: %ld\n", best_process_count);
printf("最佳线程数(I/O 密集型任务): %ld\n", best_thread_count_io);
printf("最佳线程数(CPU 密集型任务): %ld\n", best_thread_count_cpu);
return 0;
}