信号量
Posted allenzhang-920
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信号量相关的知识,希望对你有一定的参考价值。
线程锁(也称互斥锁)是同一时间只允许一个线程在执行,信号量可以用来表示同一时间允许执行的线程的数目。
import threading import time def run(n): semaphore.acquire() time.sleep(1) print ‘run the thread: {} ‘.format(n) semaphore.release() if __name__ == ‘__main__‘: semaphore = threading.BoundedSemaphore(5) for i in range(22): t = threading.Thread(target=run, args=(i,)) t.start() while threading.active_count() != 1: pass else: print ‘---all threads done---‘
结果可以看到是五个五个的一起执行
run the thread: 0
run the thread: 3
run the thread: 4
run the thread: 2
run the thread: 1
run the thread: 5
run the thread: 8
run the thread: 9
run the thread: 7
run the thread: 6
run the thread: 10
run the thread: 14
run the thread: 13
run the thread: 11
run the thread: 12
...
以上是关于信号量的主要内容,如果未能解决你的问题,请参考以下文章
Android MediaPlayer AudioStream AudioFlinger 服务器死机!,致命信号 11