我想用所有CPU中的python腳本 我找到了一些代碼相同:用在Python腳本中的所有CPU內核的一個過程
def do_sum():
min = 0
max = 100000000
while min < max:
min += 1
file = open('mytext.txt','a')
file.write(str(min))
def main():
q = Queue()
p1 = Process(target=do_sum)
p2 = Process(target=do_sum)
p1.start()
p2.start()
r1 = q.get()
r2 = q.get()
print r1+r2
if __name__=='__main__':
main()
,但它不匹配在一起CPU P1從1開始寫, 2,3,4,5 .... 和p2不能繼續p2也從開始1,2,3,4開始 所以結果是:1122334455
我怎麼能匹配2個CPU核心在一起? 我想寫有我的速度最快的PC可以做到這一點的文件,我使用i7處理器,我怎麼能使用所有
你在這裏的瓶頸幾乎不是cpu,很可能你受文件寫入速度的約束。並且請注意,文件寫入不是線程安全的,您會在沒有某種鎖的情況下得到數據錯亂的數據。 – alko
可能與[Python:爲什麼不同的線程從一個生成器中獲取它們自己的一系列值?](可能與之相關)?(http://stackoverflow.com/questions/20042534/python-why-different-threads-get-their-own-series-從一個生成器) – alko
我認爲這個線程工作相同,代碼和不同的值 – user2244393