Python Library中的Semaphore操作方案详解


Python Library作为计算机语言中常用的语言,很多人都会接触到Python Library中的Semaphore这一计算机语言,一下的文章就是对其实际应用操作方案的具体介绍,希望你浏览完以下的文章会对你有所帮助。

Python Library Semaphore和 .NET Semaphore 一样,限制可同时访问某一资源的线程数。

  1. lock = Semaphore(2)  
  2. def test():  
  3. with lock:  
  4. for i in range(5):  
  5. print currentThread().name, i  
  6. sleep(1)  
  7. for i in range(5):  
  8. Thread(target = test).start()   

输出:

  1. $ ./main.py 

Thread-1 0 <--- Thread-1 和 Thread-2 获得锁
 

  1. Thread-2 0  
  2. Thread-1 1  
  3. Thread-2 1  
  4. Thread-1 2  
  5. Thread-2 2  
  6. Thread-1 3  
  7. Thread-2 3  
  8. Thread-1 4  
  9. Thread-2 4 

Thread-3 0 <--- Thread-3 和 Thread-4 获得锁
 

  1. Thread-4 0  
  2. Thread-3 1  
  3. Thread-4 1  
  4. Thread-3 2  
  5. Thread-4 2  
  6. Thread-3 3  
  7. Thread-4 3  
  8. Thread-3 4  
  9. Thread-4 4 

Thread-5 0 <--- Thread-5 获得锁
 

  1. Thread-5 1  
  2. Thread-5 2  
  3. Thread-5 3  
  4. Thread-5 4 

以上就是对Python Library中的Semaphore实际应用操作方案详解的相关介绍。

评论关闭