我有一个生成许多线程的 Python 程序,它一次运行4个线程,每个线程执行一个昂贵的操作。伪代码:
for object in list:
t = Thread(target=process, args=(object))
# if fewer than 4 threads are currently running, t.start(). Otherwise, add t to queue
但是当程序运行时,OSX 中的活动监视器显示4个逻辑核心中的1个处于100% ,其他的几乎为0。显然,我不能强迫操作系统做任何事情,但是我从来没有像这样关注过多线程代码的性能,所以我想知道我是否遗漏了什么或者误解了什么。
谢谢。