你可以使用Python的threading
模塊來實現多線程處理循環中不同的元素數據。下面是一個示例代碼:
import threading
def process_data(data):
# 處理數據的函數
print("Processing:", data)
data_list = ['data1', 'data2', 'data3'] # 要處理的數據列表
# 創建一個線程鎖
lock = threading.Lock()
def process_data_thread(data):
with lock:
process_data(data)
# 創建線程列表
threads = []
# 遍歷數據列表,為每個數據創建一個線程并啟動
for data in data_list:
t = threading.Thread(target=process_data_thread, args=(data,))
t.start()
threads.append(t)
# 等待所有線程結束
for t in threads:
t.join()
在上面的代碼中,首先定義了一個process_data
函數來處理數據。然后創建了一個數據列表data_list
,其中包含了要處理的數據。
接著創建了一個線程鎖lock
,用于在多線程中控制對函數process_data
的訪問。然后定義了一個process_data_thread
函數,它在獲取了鎖之后調用process_data
函數對數據進行處理。
接下來,創建了一個線程列表threads
。然后使用一個循環遍歷數據列表,為每個數據創建一個線程,并將其加入線程列表。在循環過程中,每創建一個線程就啟動它。
最后,使用另一個循環來等待所有線程結束,保證所有數據都被處理完畢。