首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ctrl不中断semaphore.acquire

Ctrl不中断semaphore.acquire
EN

Stack Overflow用户
提问于 2011-05-06 21:11:49
回答 1查看 467关注 0票数 3
代码语言:javascript
复制
while True:
    try:
        queries_semaphore.acquire()
        query = queries.pop(0)
        # Do some stuff ...
        info('Query executed: `%s\'' % str(query))
    except KeyboardInterrupt:
        okay('quit')
        break

问题是,只有在KeyboardInterrupt返回后才会引发queries_semaphore.acquire(),因此用户无法用Ctrl中断程序。这个案子的好办法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-06 21:23:59

我将为queries_semaphore.acquire()部分创建另一个线程,并将主线程留给用户进行交互。如果用户点击Ctrl,那么您应该通过设置信号量来解除工作线程的阻塞并完成它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5917060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档