Python在FedoraLinux上仅限于一个核心

Python在FedoraLinux上仅限于一个核心,python,linux,multiprocessing,fedora,Python,Linux,Multiprocessing,Fedora,我有八核处理器(3.4GHz上的amd fx-8120),我尝试使用fedora 18上的多交叉库,它创建了所有进程,但我没有工作,它只使用了一个内核。我必须对python代码进行哪些更改?谢谢 import time def fibo(n): if n < 2: return n else: return (fibo(n-2)+fibo(n-1)) start_time = time.time() print fibo(35) print

我有八核处理器(3.4GHz上的amd fx-8120),我尝试使用fedora 18上的多交叉库,它创建了所有进程,但我没有工作,它只使用了一个内核。我必须对python代码进行哪些更改?谢谢

import time
def fibo(n):
    if n < 2:
        return n
    else:
        return (fibo(n-2)+fibo(n-1))
start_time = time.time()
print fibo(35)
print time.time() - start_time, "seconds"
导入时间
def fibo(n):
如果n<2:
返回n
其他:
返回(fibo(n-2)+fibo(n-1))
开始时间=time.time()
印刷菲波(35)
打印时间.time()-开始时间,“秒”

这是纯python中的处理器绑定任务。请参阅:

这是纯python中的处理器绑定任务。请参阅:

您的
fibo()
函数没有线程化。向它抛出
多处理
模块不会神奇地使它与自身并行运行。

您的
fibo()
函数没有线程化。将
多处理
模块扔向它不会神奇地使它与自身并行运行。

这是软件问题吗?或者我可以使用python中的所有内核?GIL只影响线程(线程模块),而不影响进程(多处理模块)。因此,我必须对代码进行哪些更改才能使用所有内核?b-w-baughB.w。Baugh,在这种情况下会影响主线程。这是软件问题吗?或者我可以使用python中的所有内核?GIL只影响线程(线程模块),而不影响进程(多处理模块)。因此,我必须对代码进行哪些更改才能使用所有内核?b-w-baughB.w。Baugh,在这种情况下会影响主线程。