import threading
import time
sem = threading.semaphore(2)
# 限制執行緒併發數
threadinglock = threading.lock(
)def
go_thread()
:with sem:
for i in
range(5
):threadinglock.acquire(
)print
('這是'
, threading.current_thread(
).name,
'正在列印'
, i)
time.sleep(1)
threadinglock.release(
)for j in
range(5
):threading.thread(target=go_thread)
.start(
)
這是 thread-1 正在列印 0
這是 thread-1 正在列印 1
這是 thread-2 正在列印 0
這是 thread-2 正在列印 1
這是 thread-2 正在列印 2
這是 thread-1 正在列印 2
這是 thread-2 正在列印 3
這是 thread-1 正在列印 3
這是 thread-1 正在列印 4
這是 thread-2 正在列印 4
這是 thread-3 正在列印 0
這是 thread-3 正在列印 1
這是 thread-4 正在列印 0
這是 thread-3 正在列印 2
這是 thread-4 正在列印 1
這是 thread-3 正在列印 3
這是 thread-3 正在列印 4
這是 thread-4 正在列印 2
這是 thread-5 正在列印 0
這是 thread-4 正在列印 3
這是 thread-4 正在列印 4
這是 thread-5 正在列印 1
這是 thread-5 正在列印 2
這是 thread-5 正在列印 3
這是 thread-5 正在列印 4
python隨筆 之 匹配執行緒數量併發
import time import threading bar threading.barrier 2 必須湊一對執行緒才能執行 threadinglock threading.lock def server bar.wait 必須等到湊一對執行緒才能執行 threadinglock.acquir...
python多執行緒限制併發數示例
coding utf 8 usr bin env python import queue import threading import time prolock threading.lock 定義同時佇列數 queue queue.queue maxsize 10 定義任務初值值及最大值 task...
python多執行緒限制併發數示例
coding utf 8 usr bin env python import queue import threading import time prolock threading.lock 定義同時佇列數 queue queue.queue maxsize 10 定義任務初值值及最大值 task...