python多執行緒完成多個任務

2021-08-19 16:14:41 字數 1604 閱讀 8501

# 執行緒: 執行緒可以理解成執行**的分支, 執行緒是執行對應的**的, cpu排程執行緒去執行對應**

importtime

importthreading

# 跳舞的任務

defdance():

# 獲取當前執行**的執行緒

current_thread = threading.current_thread()

print("dance:"

, current_thread)

foriinrange(5):

print("跳舞中....")

time.sleep(0.2)

# 唱歌

defsing():

# 獲取當前執行**的執行緒

current_thread = threading.current_thread()

print("sing:"

, current_thread)

foriinrange(5):

print("唱歌中....")

time.sleep(0.2)

if__name__ == '__main__':

# 獲取當前執行**的執行緒

current_thread = threading.current_thread()

print("main:"

, current_thread)

# 獲取程式活動執行緒的列表

thread_list = threading.enumerate()

#print("111:", thread_list)

# 建立跳舞的執行緒

dance_thread = threading.thread(target=dance)

#print("dance_thread:", dance_thread)

# 建立唱歌的執行緒

sing_thread = threading.thread(target=sing)

#print("sing_thread:", sing_thread)

thread_list = threading.enumerate()

#print("222:", thread_list)

# 啟動執行緒執行對應的任務

dance_thread.start()

sing_thread.start()

thread_list = threading.enumerate()

#print("333:", thread_list, len(thread_list))

# 擴充套件-獲取活動執行緒的個數

active_count = threading.active_count()

# print("333:", active_count)

# # 主線程執行唱歌

# sing()

# 注意點: 執行緒之間執行是無序的,由cpu排程決定的

多執行緒 等待所有任務執行完成

在多執行緒中,有時候需要等待所有執行緒執行完成後才讓繼續往下執行,如查詢結果彙總等。下面列舉兩種等待方式 方式一 利用 countdownlatch 類完成。示例 按任務總量建立計數器 final countdownlatch countdownlatch new countdownlatch so...

Python等待所有執行緒任務完成

import threading import time import random def takesleep id,name print name id 執行緒開始執行.time.sleep random.randint 0,3 print name id 執行緒任務結束 print 主程式開始...

多執行緒 程式完成指定任務,開啟多少併發執行緒最合適

首先要考慮執行的任務是什麼型別 1 io密集型 2 計算密集型 io密集型 以大量任務讀寫資料庫,讀寫檔案為主,記憶體中的運算很少,執行緒基本阻塞在io上面。這種情況下,盡量多開啟一些執行緒併發做io操作,因為在io過程中,cpu幾乎是閒置的。計算密集型 任務以記憶體中的計算為主。這時候cpu是滿負...