日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python的多線程的一個類,直接可以使用

系統 1814 0
            
              import threading
import queue
import time
'''
queue.qsize() 返回隊列的大小
queue.empty() 如果隊列為空,返回True,反之False
queue.full() 如果隊列滿了,返回True,反之False
queue.full 與 maxsize 大小對應
queue.get([block[, timeout]])獲取隊列,timeout等待時間
queue.get_nowait() 相當queue.get(False)
queue.put(item) 寫入隊列,timeout等待時間
queue.put_nowait(item) 相當queue.put(item, False)
queue.task_done() 在完成一項工作之后,queue.task_done()函數向任務已經完成的隊列發送一個信號
'''
class CustomThread(threading.Thread):
    def __init__(self, queue):
        threading.Thread.__init__(self)
        self.__queue = queue

    def run(self):
        q_method, kwargs = self.__queue.get()
        q_method(**kwargs)
        self.__queue.task_done()

def start_thread(request_queue):
    # 啟動線程
    for i in range(request_queue.maxsize):
        t = CustomThread(request_queue)
        t.setDaemon(True)
        t.start()

def test(id):
    print("test start by id:{}".format(id))
    time.sleep(1)
    print("test end by id:{}\n".format(id))

if __name__ == '__main__':
    QUEUE_SIZE = 5
    test_queue = queue.Queue(QUEUE_SIZE)
    #啟動線程
    start_thread(test_queue)
    # 啟動線程
    # for i in range(test_queue.maxsize):
    #     t = CustomThread(test_queue)
    #     t.setDaemon(True)
    #     t.start()

    for i in range(5):
        test_queue.put((test, {"id":i}))
    #等待所有線程執行完
    test_queue.join()
    print("進程結束!")


            
          

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 沈丘县| 玉屏| 山丹县| 洛南县| 临安市| 新化县| 吉隆县| 托克逊县| 洪湖市| 宣城市| 常山县| 白河县| 宁河县| 渭南市| 阜南县| 绵阳市| 五寨县| 孟津县| 革吉县| 宜兴市| 卫辉市| 房产| 瓦房店市| 平果县| 会泽县| 定日县| 延安市| 刚察县| 黄骅市| 密云县| 宁都县| 富锦市| 寿阳县| 鸡东县| 晋州市| 茶陵县| 巢湖市| 南澳县| 修水县| 大渡口区| 杨浦区|