91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python3爬蟲中怎么防止多線程出錯

發布時間:2020-11-25 09:37:06 來源:億速云 閱讀:227 作者:小新 欄目:編程語言

小編給大家分享一下python3爬蟲中怎么防止多線程出錯,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

python線程的事件用于主線程控制其他線程的執行,事件是一個簡單的線程同步對象,其主要提供以下幾個方法:

  • clear 將flag設置為“False”

  • set 將flag設置為“True”

  • is_set 判斷是否設置了flag

  • wait 會一直監聽flag,如果沒有檢測到flag就一直處于阻塞狀態

事件處理的機制:全局定義了一個“Flag”,當flag值為“False”,那么event.wait()就會阻塞,當flag值為“True”,那么event.wait()便不再阻塞。

#利用Event類模擬紅綠燈
import threading
import time
 
event = threading.Event()
 
 
def lighter():
    count = 0
    event.set()     #初始值為綠燈
    while True:
        if 5 < count <=10 :
            event.clear()  # 紅燈,清除標志位
            print("\33[41;1mred light is on...\033[0m")
        elif count > 10:
            event.set()  # 綠燈,設置標志位
            count = 0
        else:
            print("\33[42;1mgreen light is on...\033[0m")
 
        time.sleep(1)
        count += 1
 
def car(name):
    while True:
        if event.is_set():      #判斷是否設置了標志位
            print("[%s] running..."%name)
            time.sleep(1)
        else:
            print("[%s] sees red light,waiting..."%name)
            event.wait()
            print("[%s] green light is on,start going..."%name)
 
light = threading.Thread(target=lighter,)
light.start()
 
car = threading.Thread(target=car,args=("MINI",))
car.start()

以上是“python3爬蟲中怎么防止多線程出錯”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜康市| 县级市| 昭苏县| 红河县| 射洪县| 延寿县| 梁河县| 隆尧县| 思茅市| 张家川| 奉节县| 洞头县| 化州市| 通江县| 志丹县| 搜索| 额尔古纳市| 平阳县| 华容县| 龙陵县| 昌黎县| 抚松县| 东至县| 依安县| 罗城| 彭阳县| 昌都县| 广安市| 林州市| 乐平市| 铁力市| 荃湾区| 齐河县| 永济市| 苍梧县| 东阿县| 台中县| 孙吴县| 电白县| 昭通市| 晋城|