1. 程式人生 > >Python3學習筆記--多執行緒

Python3學習筆記--多執行緒

python並非真正意義上的多執行緒,不支援多核,只能單核,這是因為全域性鎖的原因

如果多個執行緒共享一個記憶體,如何做限制:
threading.RLock()
lock.release()

.join:表示必須等上一個函式執行完再執行下一個函式

import threading
import time

def run(num):
    print('Hi , I am the thread',num)
    time.sleep(1)
    print('-->')

for i in range(20):
    t = threading.Thread(target=run,args=(i,) )
    t.start()
    #t.join()

使用訊息佇列,可以防止多執行緒阻塞

如果想要多核,請使用多程序開發:

import time
from multiprocessing import Process

def sayHi(name):
    print("hello word ",name)
    time.sleep(1)

if __name__ == '__main__':
    for i in range(10):
        p = Process(target=sayHi,args=(i,))
        p.start()

程序池: