Python线程都在单个核心上执行。

13 浏览
0 Comments

Python线程都在单个核心上执行。

我有一个Python程序,它生成许多线程,每次运行4个线程,每个线程执行一个耗时的操作。伪代码如下:

for object in list:
    t = Thread(target=process, args=(object))
    # 如果当前运行的线程少于4个,则t.start()。否则,将t添加到队列中

但是当程序运行时,OS X的Activity Monitor显示4个逻辑核心中的1个核心处于100%,其他核心几乎为0。显然,我无法强制操作系统做任何事情,但我以前从未在多线程代码中关注过性能,所以我想知道是否我遗漏或误解了某些内容。

谢谢。

0