久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

  1. <i id='QB7Yu'><tr id='QB7Yu'><dt id='QB7Yu'><q id='QB7Yu'><span id='QB7Yu'><b id='QB7Yu'><form id='QB7Yu'><ins id='QB7Yu'></ins><ul id='QB7Yu'></ul><sub id='QB7Yu'></sub></form><legend id='QB7Yu'></legend><bdo id='QB7Yu'><pre id='QB7Yu'><center id='QB7Yu'></center></pre></bdo></b><th id='QB7Yu'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='QB7Yu'><tfoot id='QB7Yu'></tfoot><dl id='QB7Yu'><fieldset id='QB7Yu'></fieldset></dl></div>
  2. <legend id='QB7Yu'><style id='QB7Yu'><dir id='QB7Yu'><q id='QB7Yu'></q></dir></style></legend>

    1. <small id='QB7Yu'></small><noframes id='QB7Yu'>

      <tfoot id='QB7Yu'></tfoot>

        <bdo id='QB7Yu'></bdo><ul id='QB7Yu'></ul>

      Spyder中的簡單Python多處理函數不輸出結果

      Simple Python Multiprocessing function in Spyder doesn#39;t output results(Spyder中的簡單Python多處理函數不輸出結果)
      <tfoot id='cb2dt'></tfoot>
      <i id='cb2dt'><tr id='cb2dt'><dt id='cb2dt'><q id='cb2dt'><span id='cb2dt'><b id='cb2dt'><form id='cb2dt'><ins id='cb2dt'></ins><ul id='cb2dt'></ul><sub id='cb2dt'></sub></form><legend id='cb2dt'></legend><bdo id='cb2dt'><pre id='cb2dt'><center id='cb2dt'></center></pre></bdo></b><th id='cb2dt'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='cb2dt'><tfoot id='cb2dt'></tfoot><dl id='cb2dt'><fieldset id='cb2dt'></fieldset></dl></div>

      <small id='cb2dt'></small><noframes id='cb2dt'>

    2. <legend id='cb2dt'><style id='cb2dt'><dir id='cb2dt'><q id='cb2dt'></q></dir></style></legend>

        <tbody id='cb2dt'></tbody>

        • <bdo id='cb2dt'></bdo><ul id='cb2dt'></ul>
                本文介紹了Spyder中的簡單Python多處理函數不輸出結果的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                限時送ChatGPT賬號..

                我在這里有一個非常簡單的函數,我試圖在其中運行和測試,但是,它不輸出任何內容,也沒有任何錯誤.我已經多次檢查代碼,但沒有任何錯誤.

                I have this very simple function right here in which I'm trying to run and test on, however, it doesn't output anything and it doesn't have any errors either. I've checked the code multiple times but it doesn't have any errors.

                我打印了作業,結果如下:

                I printed jobs and here's what I got:

                [<Process(Process-12, stopped[1])>, 
                <Process(Process-13, stopped[1])>,
                <Process(Process-14, stopped[1])>, 
                <Process(Process-15, stopped[1])>,
                <Process(Process-16, stopped[1])>]
                

                代碼如下:

                import multiprocessing
                
                def worker(num):
                    print "worker ", num
                    return
                
                jobs = []
                for i in range(5):
                    p = multiprocessing.Process(target = worker, args = (i,))
                    jobs.append(p)
                    p.start()
                

                這是我期待的結果,但它沒有輸出任何東西:

                Here's the result I'm expecting but it's not outputting anything:

                Worker: 0
                Worker: 1
                Worker: 2
                Worker: 3
                Worker: 4
                

                推薦答案

                評論顯示 OP 使用 Windows 和 Spyder.由于 Spyder 重定向 stdout 而 Windows 不支持 forking,新的子進程不會打印到 Spyder 控制臺.這僅僅是因為新子進程的 stdout 是 Python 的 vanilla stdout,也可以在 sys.__stdout__ 中找到.

                The comments revealed that OP uses Windows as well as Spyder. Since Spyder redirects stdout and Windows does not support forking, a new child process won't print into the Spyder console. This is simply due to the fact that stdout of the new child process is Python's vanilla stdout, which can also be found in sys.__stdout__.

                有兩種選擇:

                1. 使用 logging 模塊.這將包括創建所有消息并將其記錄到一個或多個文件中.使用單個日志文件可能會導致輸出稍微亂碼的問題,因為進程會同時寫入文件.每個進程使用一個文件可以解決這個問題.

                1. Using the logging module. This would encompass creating and logging all messages to one or several files. Using a single log-file may lead to the problem that the output is slightly garbled since the processes would write concurrently to the file. Using a single file per process could solve this.

                不在子進程中使用print,而只是將結果返回給主進程.通過使用 queue (或 multiprocessing.Manager().Queue() 因為分叉是不可能的)或更簡單地依靠 多處理池的 map 功能,請參見下面的示例.

                Not using print within the child processes, but simply returning the result to the main process. Either by using a queue (or multiprocessing.Manager().Queue() since forking is not possible) or more simply by relying on the multiprocessing Pool's map functionality, see example below.

                帶有池的多處理示例:

                import multiprocessing
                
                def worker(num):
                    """Returns the string of interest"""
                    return "worker %d" % num
                
                def main():
                    pool = multiprocessing.Pool(4)
                    results = pool.map(worker, range(10))
                
                    pool.close()
                    pool.join()
                
                    for result in results:
                        # prints the result string in the main process
                        print(result)
                
                if __name__ == '__main__':
                    # Better protect your main function when you use multiprocessing
                    main()
                

                哪個打印(在主進程中)

                which prints (in the main process)

                worker 0
                worker 1
                worker 2
                worker 3
                worker 4
                worker 5
                worker 6
                worker 7
                worker 8
                worker 9
                

                <小時>

                如果您迫不及待地等待 map 函數完成,您可以使用 imap_unordered 并稍微更改命令的順序立即打印結果:


                If you are to impatient to wait for the map function to finish, you can immediately print your results by using imap_unordered and slightly changing the order of the commands:

                def main():
                    pool = multiprocessing.Pool(4)
                    results = pool.imap_unordered(worker, range(10))
                
                    for result in results:
                        # prints the result string in the main process as soon as say are ready
                        # but results are now no longer in order!
                        print(result)
                
                    # The pool should join after printing all results
                    pool.close()
                    pool.join()
                

                這篇關于Spyder中的簡單Python多處理函數不輸出結果的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                相關文檔推薦

                What exactly is Python multiprocessing Module#39;s .join() Method Doing?(Python 多處理模塊的 .join() 方法到底在做什么?)
                Passing multiple parameters to pool.map() function in Python(在 Python 中將多個參數傳遞給 pool.map() 函數)
                multiprocessing.pool.MaybeEncodingError: #39;TypeError(quot;cannot serialize #39;_io.BufferedReader#39; objectquot;,)#39;(multiprocessing.pool.MaybeEncodingError: TypeError(cannot serialize _io.BufferedReader object,)) - IT屋-程序員軟件開
                Python Multiprocess Pool. How to exit the script when one of the worker process determines no more work needs to be done?(Python 多進程池.當其中一個工作進程確定不再需要完成工作時,如何退出腳本?) - IT屋-程序員
                How do you pass a Queue reference to a function managed by pool.map_async()?(如何將隊列引用傳遞給 pool.map_async() 管理的函數?)
                yet another confusion with multiprocessing error, #39;module#39; object has no attribute #39;f#39;(與多處理錯誤的另一個混淆,“模塊對象沒有屬性“f)

                <small id='nCRtA'></small><noframes id='nCRtA'>

                1. <tfoot id='nCRtA'></tfoot>
                    <bdo id='nCRtA'></bdo><ul id='nCRtA'></ul>
                  • <i id='nCRtA'><tr id='nCRtA'><dt id='nCRtA'><q id='nCRtA'><span id='nCRtA'><b id='nCRtA'><form id='nCRtA'><ins id='nCRtA'></ins><ul id='nCRtA'></ul><sub id='nCRtA'></sub></form><legend id='nCRtA'></legend><bdo id='nCRtA'><pre id='nCRtA'><center id='nCRtA'></center></pre></bdo></b><th id='nCRtA'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='nCRtA'><tfoot id='nCRtA'></tfoot><dl id='nCRtA'><fieldset id='nCRtA'></fieldset></dl></div>
                            <tbody id='nCRtA'></tbody>

                        • <legend id='nCRtA'><style id='nCRtA'><dir id='nCRtA'><q id='nCRtA'></q></dir></style></legend>
                          主站蜘蛛池模板: 在线色网 | 成人在线电影在线观看 | 亚洲成人av在线 | 国产亚洲欧美在线 | 国产精品国产精品 | 欧美一区二区三区四区视频 | 国产成人99久久亚洲综合精品 | 蜜桃视频在线观看免费视频网站www | 97国产精品视频人人做人人爱 | 国产成人精品高清久久 | 嫩草视频网 | 奇米影视77 | 欧美日韩综合视频 | 中文字幕亚洲欧美 | 毛片网站在线观看 | 国产一区二区三区高清 | 福利片在线观看 | 亚洲男人天堂 | 69xxx免费| 国产欧美精品一区二区 | 久久精品国产久精国产 | 一区二区三区在线观看视频 | 欧美舔穴| 九色在线观看 | 99久久久久久 | 美女黄色在线观看 | 91传媒在线观看 | 久久久精品综合 | 精品国产乱码久久久久久影片 | 欧美高清视频 | 免费大黄视频 | 成人精品视频在线观看 | 婷婷毛片| 亚洲高清av | 96av麻豆蜜桃一区二区 | av中文字幕网站 | 中文字幕国产一区 | 日韩免费高清视频 | 少妇一级淫片免费播放 | 人人爽日日躁夜夜躁尤物 | 久久久久久久久久久丰满 |