亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

天水市| 容城县| 迁西县| 揭西县| 阿拉善左旗| 屏东市| 蚌埠市| 勐海县| 静乐县| 桐柏县| 安乡县| 类乌齐县| 鄂尔多斯市| 岑巩县| 和林格尔县| 章丘市| 宁远县| 揭东县| 夏邑县| 宁陵县| 来凤县| 宁国市| 昌图县| 伊宁市| 得荣县| 虞城县| 任丘市| 盐源县| 古交市| 丹凤县| 江阴市| 麟游县| 北安市| 梓潼县| 女性| 元阳县| 乐平市| 若尔盖县| 平阳县| 吉首市| 紫阳县|