成都网站建设设计

将想法与焦点和您一起共享

PythonLibrary中的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实际应用操作方案详解的相关介绍。


当前文章:PythonLibrary中的Semaphore操作方案详解
地址分享:https://chengdu.cdxwcx.cn/article/coiesod.html