我有一个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
Run Code Online (Sandbox Code Playgroud)
但是当程序运行时,OS X中的Activity Monitor显示4个逻辑核心中的1个处于100%而其他核心处于接近0的状态.显然,我不能强制操作系统做任何事情,但我从来没有做过注意这样的多线程代码中的性能,所以我想知道我是否只是缺少或误解了一些东西.
谢谢.