1

我試圖運行一段代碼。這段代碼是關於多處理的。它在命令提示符下工作正常,它也生成一些輸出。但是當我嘗試在pyscripter上運行此代碼時,它只是說腳本運行正常並且它不會產生任何輸出,甚至不會顯示任何錯誤消息。它甚至不會崩潰。如果任何人都可以幫助我找到一個正確的解釋器,在這種多處理工作正常的情況下,這將非常有幫助。 下面是一段代碼:是否有任何解釋器可以在Windows 7上運行python 2.7版本的多處理器?

from multiprocessing import Process 
    def wait(): 
     print "wait" 
     clean() 
    def clean(): 
     print "clean" 
    def main(): 
     p=Process(target=wait) 
     p.start() 
     p.join() 
    if _name_=='_main_': 
     main() 

回答

0

正常的翻譯工作得很好用multiprocessing在Windows 7上我。 (您的IDE可能不喜歡多。)

你只需要做

if __name__=='__main__': 
    main() 

2個下劃線(__)每個而不是1(_)。

此外 - 如果您沒有實際的理由不使用它,在大多數情況下,multiprocessing.Poolmultiprocessing.Process更容易使用。必須在https://docs.python.org/2/library/multiprocessing.html#module-multiprocessing.pool

alook,配有泳池的實現將有力使用

import multiprocessing 
def wait(): 
    print "wait" 
    clean() 
def clean(): 
    print "clean" 
def main(): 
    p=multiprocessing.Pool() 
    p.apply_async(wait) 
    p.close() 
    p.join() 
if __name__=='__main__': 
    main() 

但池的方法取決於你真正想做的事情。

+0

感謝您的回答。我使用了2個下劃線,它不適用於pyscripter.May我知道您使用的是什麼解釋器? – Sai

+0

您是否願意使用上面提到的代碼使用池提供多處理? – Sai

+0

謝謝,但我的翻譯甚至不打印任何聲明eventhhough如果我使用池 – Sai

相關問題