logo
Loading...

thread執行順序 - Cupoy

您好,想請問我在print_time裡面有print出網址然而我跑出的結果是先印出finishTim...

pycrawler,pycrawler-d35

thread執行順序

2020/01/27 下午 03:10
Python網路爬蟲討論版
葉碩涵
觀看數:6
回答數:3
收藏數:1
pycrawler
pycrawler-d35

您好,

想請問

我在print_time裡面有print出網址

然而我跑出的結果是先印出finishTime-startTime 接著才印出print_time的內容

這樣子會不會造成我for迴圈之後可能會拿不到web正確的內容?

要先等print_time都結束了才可以拿到正確的內容

程式在In[6]裡面

https://github.com/yehbi/1st-PyCrawlerMarathon/blob/master/homework/Day035_multithread.ipynb

回答列表

  • 2020/01/30 上午 10:59
    Jeffrey
    贊同數:0
    不贊同數:0
    留言數:0

  • 2020/02/02 上午 08:15
    張維元 (WeiYuan)
    贊同數:2
    不贊同數:0
    留言數:0

    「然而我跑出的結果是先印出 finishTime-startTime 接著才印出 print_time 的內容」這樣是正確的結果,原因是程式中的 Thread 執行時是馬上開出一個分支繼續執行,原本的程式不會等到其結束就繼續執行下去。


    所以程式中程式中的 for 簡單來說就是開啟了多個 Thread 同時執行,然後就印出 finishTime-startTime, 這裡的結果指的是「程式成功開啟了幾個爬蟲」的時間,而非「程式成功完成了幾個爬蟲」的時間。


    另外,Thread 的執行是由電腦作業系統自己決定的,有可能後執行的 Thread 比較早完成。

  • 2020/02/02 上午 08:16
    張維元 (WeiYuan)
    贊同數:2
    不贊同數:0
    留言數:0

    「這樣子會不會造成我for迴圈之後可能會拿不到web正確的內容?」=> 原則上,開啟 Thread 後就會獨立執行(與原程式無關),爬蟲的內容應該還是正確的。