python3 多線程多進(jìn)程

原文

#一些方法
t1 = threading.Thread(target=你寫的函數(shù)名,args=(傳入變量(如果只有一個變量就必須在后加上逗號),),name=隨便取一個線程名):把一個線程實例化給t1,這個線程負(fù)責(zé)執(zhí)行target=你寫的函數(shù)名
t1.start():負(fù)責(zé)執(zhí)行啟動這個線程
t1.join():必須要等待你的子線程執(zhí)行完成后再執(zhí)行主線程
t1.setDeamon(True):當(dāng)你的主線程執(zhí)行完畢后,不管子線程有沒有執(zhí)行完成都退出主程序,注意不能和t1.join()一起使用。
threading.current_thread().name:打印出線程名
threadLock = threading.Lock()#用于保證同一時間只有一段程序?qū)δ匙兞窟M(jìn)行修改
threadLock.lock.acquire()#上鎖
threadLock.lock.release()#開鎖
acquire():上鎖,這個時候只能運(yùn)行上鎖后的代碼
release():解鎖,解鎖后把資源讓出來,給其他線程使用
#類方法實現(xiàn)多線程
import threading
import time
class mop_floor(threading.Thread):
    def __init__(self):
        super().__init__()
    def run(self):
        print('我要拖地了')
        time.sleep(1)
        print('地拖完了')

線程通信

import queue
q = queue.Queue(maxsize=100)#定義一個Queue表列,大小100個元素
q.put('hello')#放置一個元素
q.get()#取出一個元素,是一個堵塞的,會等待直到獲取到數(shù)據(jù)

多進(jìn)程

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容