在python中使用get_nowait()而不引发空异常

willpower2727

我有一个进程间队列,该队列通常为空,并且偶尔会出现一些东西。在我的一个线程中,我想定义一个while循环,如下所示:

def mythread(queue1):

    while (queue1.get_nowait() != 1):
        #do stuff

直到队列为空,这在我的情况下会很快发生,因此效果很好。当队列为空时,调用get_nowait()或get(False)会引发空队列异常。有什么方法可以检查队列而不阻塞并且不引发空异常吗?

让·弗朗索瓦·法布尔(Jean-Francois Fabre)

使用empty方法

if queue1.empty():
   pass
else:
   # get items from the queue

注意:doc说“不可靠”(不开玩笑)。

我想这是因为True在消息发布时它可以返回(队列为空),所以该操作不如捕获异常那样原子。好吧,get_nowait()我想紧随其后的是一个调用,除非其他一些线程也可以使用该队列,在这种情况下,如果您尝试从中读取条件,则可能会出现争用情况并且该队列可能为空,这没关系!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在python中使用get_nowait()而不引发空异常

来自分类Dev

使用ErrorController而不引发异常

来自分类Dev

Python在pygame中使用pgu导入时引发异常

来自分类Dev

Python在pygame中使用pgu导入时引发异常

来自分类Dev

检查子元素之一是否为空且不引发异常的最佳方法

来自分类Dev

为什么ListView.setAdapter(null)不引发空指针异常?

来自分类Dev

为什么此代码不引发异常?

来自分类Dev

为什么不引发此异常?

来自分类Dev

为什么不引发浮点异常(FPE)?

来自分类Dev

C#SqlTransaction.Commit不引发异常

来自分类Dev

PHP不引发异常,仅响应500

来自分类Dev

int.Parse不引发异常

来自分类Dev

如何在不引发python异常的情况下获取堆栈跟踪字符串?

来自分类Dev

如何在不引发python异常的情况下获取堆栈跟踪字符串?

来自分类Dev

如何在不引发异常的情况下退出 python 2.7 中的 for 循环

来自分类Dev

在C中使用堆栈引发异常

来自分类Dev

如何在不引发 SyntaxError 的情况下在列表中使用范围变量?

来自分类Dev

空捕获,但仍引发异常

来自分类Dev

Lambdify使用Python,但使用Cython引发异常

来自分类Dev

Celery任务在Django测试中不引发异常

来自分类Dev

C#TCPClient / Socket编写不引发异常

来自分类Dev

NavigationService.Navigate既不导航也不引发任何异常

来自分类Dev

如何使Enum.valuesOf()中不引发异常?

来自分类Dev

SqlConnection命令在删除时不引发任何异常

来自分类Dev

为什么_ftscanf_s引发异常而_ftscanf不引发异常?

来自分类Dev

查询在SQL Server中引发异常,但在MySQL中不引发异常(外部参考错误)

来自分类Dev

在@MappedSuperclass中使用@Embedded会引发重复的异常

来自分类Dev

在布局文件中使用CardView和RecyclerView会引发异常

来自分类Dev

PHP在匿名函数中使用“ use”引发异常

Related 相关文章

  1. 1

    在python中使用get_nowait()而不引发空异常

  2. 2

    使用ErrorController而不引发异常

  3. 3

    Python在pygame中使用pgu导入时引发异常

  4. 4

    Python在pygame中使用pgu导入时引发异常

  5. 5

    检查子元素之一是否为空且不引发异常的最佳方法

  6. 6

    为什么ListView.setAdapter(null)不引发空指针异常?

  7. 7

    为什么此代码不引发异常?

  8. 8

    为什么不引发此异常?

  9. 9

    为什么不引发浮点异常(FPE)?

  10. 10

    C#SqlTransaction.Commit不引发异常

  11. 11

    PHP不引发异常,仅响应500

  12. 12

    int.Parse不引发异常

  13. 13

    如何在不引发python异常的情况下获取堆栈跟踪字符串?

  14. 14

    如何在不引发python异常的情况下获取堆栈跟踪字符串?

  15. 15

    如何在不引发异常的情况下退出 python 2.7 中的 for 循环

  16. 16

    在C中使用堆栈引发异常

  17. 17

    如何在不引发 SyntaxError 的情况下在列表中使用范围变量?

  18. 18

    空捕获,但仍引发异常

  19. 19

    Lambdify使用Python,但使用Cython引发异常

  20. 20

    Celery任务在Django测试中不引发异常

  21. 21

    C#TCPClient / Socket编写不引发异常

  22. 22

    NavigationService.Navigate既不导航也不引发任何异常

  23. 23

    如何使Enum.valuesOf()中不引发异常?

  24. 24

    SqlConnection命令在删除时不引发任何异常

  25. 25

    为什么_ftscanf_s引发异常而_ftscanf不引发异常?

  26. 26

    查询在SQL Server中引发异常,但在MySQL中不引发异常(外部参考错误)

  27. 27

    在@MappedSuperclass中使用@Embedded会引发重复的异常

  28. 28

    在布局文件中使用CardView和RecyclerView会引发异常

  29. 29

    PHP在匿名函数中使用“ use”引发异常

热门标签

归档