Python學習筆記|Python之執行緒
1.單執行緒
單執行緒執行完一件事情才能執行另外一件事件
def Learn(name,loop):
for i in range(loop):
print('Learn: %s %s '%(name,time.ctime()))
time.sleep(1)
def Listen(name, loop):
for i in range(loop):
print('Listen: %s %s ' % (name, time.ctime()))
time.sleep(1)
if __name__ == '__main__':
Learn('python', 3)
Listen('java',4)
print('end time %s'%time.ctime())
2.多執行緒
- 建立執行緒
threading.Thread(target= Listen,args=('java',4))
- 啟動執行緒
start()啟動執行緒
- 守護主執行緒
設定守護主執行緒後,如果執行到了主執行緒,則直接退出
setDaemon(True):
- 阻塞主執行緒
join()一直阻塞直到所有子執行緒結束
join(timeout)阻塞timeout時間
程式碼如下:
def Learn(name,loop):
for i in range(loop):
print('Learn: %s %s '%(name,time.ctime()))
time.sleep(1)
def Listen(name, loop):
for i in range(loop):
print('Listen: %s %s ' % (name, time.ctime()))
time.sleep(1)
#1.建立執行緒
t1 = threading.Thread(target= Listen,args=('java',4))
t2 = threading.Thread(target= Learn,args=('python',3))
if __name__ == '__main__':
#4.守護主執行緒
t1.setDaemon(True)
t2.setDaemon(True)
#2.啟動執行緒
t1.start()
t2.start()
#3.阻塞主執行緒,即在所有的子執行緒結束後再執行主執行緒
# t1.join()
# t2.join()
print('主執行緒: %s'%time.ctime())
3.執行緒鎖
- 建立執行緒鎖
lock = threading.Lock()
- 獲取執行緒鎖
lock.acquire()
- 釋放執行緒鎖
lock.release()
lock = threading.Lock() #獲取執行緒鎖
def run_thread(n):
for i in range(1000000):
#獲取鎖
lock.acquire()
try:
change(n)
finally:
#釋放鎖
lock.release()
相關文章
- Python學習筆記 - 多執行緒Python筆記執行緒
- 【Python3學習筆記】之【Python高階——多執行緒】Python筆記執行緒
- Java學習筆記之執行緒Java筆記執行緒
- python執行緒筆記Python執行緒筆記
- Python學習之程式和執行緒Python執行緒
- python 執行緒筆記(一)Python執行緒筆記
- iOS執行緒學習筆記iOS執行緒筆記
- 多執行緒學習筆記執行緒筆記
- python之多執行緒(學習)Python執行緒
- python 學習--執行緒池Python執行緒
- Python筆記二之多執行緒Python筆記執行緒
- JAVA學習筆記之 多執行緒賣票Java筆記執行緒
- Java 多執行緒學習筆記Java執行緒筆記
- java學習筆記--多執行緒Java筆記執行緒
- 多執行緒學習筆記 (轉)執行緒筆記
- Python學習筆記|Python之程式Python筆記
- Java 多執行緒學習筆記(三)-守護執行緒Java執行緒筆記
- Python學習筆記之序列Python筆記
- Linux程式執行緒學習筆記Linux執行緒筆記
- Java多執行緒學習筆記(自用)Java執行緒筆記
- C#多執行緒學習筆記C#執行緒筆記
- java學習筆記.04——執行緒池Java筆記執行緒
- Python學習筆記|Python之yield理解Python筆記
- Python學習筆記|Python之索引迭代Python筆記索引
- Python學習筆記|Python之特殊方法Python筆記
- python之執行緒鎖Python執行緒
- Python學習筆記|Python之檔案操作Python筆記
- Python學習筆記|Python之物件導向Python筆記物件
- Python學習筆記|Python之特殊檔案Python筆記
- Python學習筆記|Python之推導式Python筆記
- C# 多執行緒學習筆記 – 1C#執行緒筆記
- OS學習筆記二: 程式執行緒模型筆記執行緒模型
- Java多執行緒學習筆記(二) (轉)Java執行緒筆記
- python 多程式和多執行緒學習Python執行緒
- Java 多執行緒 學習筆記(二)停止執行緒的幾種方法Java執行緒筆記
- python之執行緒、程式薦Python執行緒
- Python學習筆記|Python之pycache資料夾Python筆記
- Python學習筆記|Python之正規表示式Python筆記