Я использую ThreadPoolExecutor из concurrent.futures, и количество потоков не совпадает.
код:
numCPU = cpu_count()
chunks = [a, b, c, d]
with concurrent.futures.ThreadPoolExecutor(max_workers=numCPU) as pool:
pool.map(f, chunks)
порождает до 8 потоков, что наблюдается с htop
и ps -T -p
вместо 4, так как print numCpu
приводит к 4
~$ ps -T -p 10830
PID SPID TTY TIME CMD
10830 10830 tty2 00:00:00 python3.6
10830 10838 tty2 00:00:00 python3.6
10830 10839 tty2 00:00:00 python3.6
10830 10840 tty2 00:00:00 python3.6
10830 10841 tty2 00:00:01 python3.6
10830 10842 tty2 00:00:04 python3.6
10830 10843 tty2 00:00:05 python3.6
10830 10844 tty2 00:00:02 python3.6
Я ожидаю 4 ... почему я получил 8 потоков?