信号量

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

傅里叶变换滤波之生物信号滤波(笔记03)

Android webview 崩溃“致命信号 5 (SIGTRAP)”

找到信号的基频