logo
Loading...

請問是否有更好的方式能準確計算所有執行緒整個執行完的時間 ? - Cupoy

以下圖可以看出計算程式運算時間在執行緒還沒來結束時,就執行完了,因此印出的時間也會不準確,其他範例也...

請問是否有更好的方式能準確計算所有執行緒整個執行完的時間 ?

2020/02/16 下午 09:30
Python網路爬蟲討論版
Jessie Chen
觀看數:0
回答數:1
收藏數:1

以下圖可以看出計算程式運算時間在執行緒還沒來結束時,就執行完了,因此印出的時間也會不準確,其他範例也是在執行執行緒前後標記時間後計算執行時間,請問有甚麼更好的方式能準確計算所有執行緒整個執行完的時間 ?

回答列表

  • 2020/02/18 上午 01:02
    張維元 (WeiYuan)
    贊同數:3
    不贊同數:0
    留言數:0

    嗨,如果是使用我們介紹的 _thread 內建套件的話無法取得回傳值(程式已經被分成兩的部分各自執行)。比較好的作法就是 Function 內處理後寫入資料庫或是外部檔案。


    另外有一個叫 threading 的第三方套件,可以做到取回回傳值,其作法如下:


    ```

    from threading import Thread


    def foo(bar):

    print 'hello {}'.format(bar)

    return 'foo'


    thread = Thread(target=foo, args=('world!',))

    thread.start()

    ret = thread.join()

    print(ret)

    ```


    這兩個套件的差異可以看這篇:https://stackoverflow.com/questions/5568555/thread-vs-threading


    贊同 2