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筆記執行緒
- Python學習之程式和執行緒Python執行緒
- Python筆記二之多執行緒Python筆記執行緒
- python之多執行緒(學習)Python執行緒
- Python學習筆記|Python之程式Python筆記
- Python學習筆記|Python之yield理解Python筆記
- Python學習筆記|Python之索引迭代Python筆記索引
- Python學習筆記|Python之特殊方法Python筆記
- Linux程式執行緒學習筆記Linux執行緒筆記
- Java 多執行緒學習筆記Java執行緒筆記
- python之執行緒鎖Python執行緒
- Python學習筆記|Python之檔案操作Python筆記
- Python學習筆記|Python之物件導向Python筆記物件
- Python學習筆記|Python之特殊檔案Python筆記
- Python學習筆記|Python之推導式Python筆記
- Java多執行緒學習筆記(自用)Java執行緒筆記
- python 多程式和多執行緒學習Python執行緒
- Python學習筆記|Python之正規表示式Python筆記
- Python學習筆記|Python之pycache資料夾Python筆記
- 【python隨筆】之【匹配執行緒數量併發】Python執行緒
- C# 多執行緒學習筆記 – 1C#執行緒筆記
- Python學習筆記之12306搶票Python筆記
- Python學習筆記Python筆記
- 【學習筆記】python筆記Python
- Thinking in Java---多執行緒學習筆記(2)ThinkingJava執行緒筆記
- 什麼是Python執行緒?Python執行緒如何建立?Python執行緒
- Python學習筆記|Python之內建變數__name__Python筆記變數
- 執行緒池之ScheduledThreadPoolExecutor執行緒池原始碼分析筆記執行緒thread原始碼筆記
- 執行緒池之ThreadPoolExecutor執行緒池原始碼分析筆記執行緒thread原始碼筆記
- Python 3 學習筆記之——物件導向Python筆記物件
- python學習筆記(1Python筆記
- Python學習筆記 - queuePython筆記
- Effective Python學習筆記Python筆記
- python——Matplotlib學習筆記Python筆記
- python學習筆記4Python筆記
- Python學習筆記 - asyncioPython筆記
- Python 學習筆記(一)Python筆記