Python在FedoraLinux上仅限于一个核心
我有八核处理器(3.4GHz上的amd fx-8120),我尝试使用fedora 18上的多交叉库,它创建了所有进程,但我没有工作,它只使用了一个内核。我必须对python代码进行哪些更改?谢谢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
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,在这种情况下会影响主线程。