#!/usr/bin/env python
# encoding: utf-8 # Date: 2018/6/18from threading import Thread,Semaphore,currentThreadimport timeimport randomsm = Semaphore(3)def task(): # sm.acquire() # print('%s in ' % currentThread().getName()) # sm.release() # 等价于以上代码 with sm: print('%s in ' % currentThread().getName()) time.sleep(random.randint(1, 3))if __name__ == '__main__': for i in range(10): t = Thread(target=task) t.start()