python并发——信号量

怎甘沉沦 提交于 2019-12-05 17:30:44

信号量通常用于保护数量有限的资源,例如数据库服务器。在资源数量固定的任何情况下,都应该使用有界信号量。在生成任何工作线程前,应该在主线程中初始化信号量。

工作线程生成后,当需要连接服务器时,这些线程将调用信号量的 acquire 和 release 方法:

使用有界信号量能减少这种编程错误:信号量的释放次数多于其请求次数。

from threading import BoundedSemaphore
maxconnections = 5
pool_sema = BoundedSemaphore(value=maxconnections)

with pool_sema:
    conn = connectdb()
    try:
        do_some()
    finally:
        conn.close()

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!