請問是否有更好的方式能準確計算所有執行緒整個執行完的時間 ?
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