python隨筆 之 限制執行緒併發數量

2021-10-25 01:22:29 字數 1190 閱讀 5111

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...