【python随笔】之【限制线程并发数量】

it2024-01-06  63

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
最新回复(0)