我想爲我的項目創建一些多處理代碼。我已經創建了我想要做的事情的片段。然而它沒有按照我的預期工作。你能不能讓我知道這有什麼問題。這個Python多處理代碼有什麼問題?
^CTraceback (most recent call last):
File "sim.py", line 22, in <module>
message = my_pipe_2[0].recv()
KeyboardInterrupt
當我運行這個上面的代碼,主要工藝不叫「proc_handle.run」後繼續:當我按Ctrl-C
from multiprocessing import Process, Pipe
import time
class A:
def __init__(self,rpipe,spipe):
print "In the function fun()"
def run(self):
print"in run method"
time.sleep(5)
message = rpipe.recv()
message = str(message).swapcase()
spipe.send(message)
workers = []
my_pipe_1 = Pipe(False)
my_pipe_2 = Pipe(False)
proc_handle = Process(target = A, args=(my_pipe_1[0], my_pipe_2[1],))
workers.append(proc_handle)
proc_handle.run()
my_pipe_1[1].send("hello")
message = my_pipe_2[0].recv()
print message
print "Back in the main function now"
的追溯顯示。爲什麼是這樣?
很抱歉的格式,我無法正確地在此編輯器進行格式化。 – hemanths
你會收到任何類型的錯誤消息嗎? – Andy
什麼是「ph.run」?我沒有看到代碼中的任何地方... – mgilson