【问题标题】:python how to loop a function with wait without pausing the whole programpython如何在不暂停整个程序的情况下循环等待函数
【发布时间】:2017-08-01 23:33:41
【问题描述】:

这里的许多人告诉您使用线程,但是当线程休眠、重新运行和再次休眠时,您如何让程序的其余部分运行......等等。 我已经尝试过使用 while 循环之类的正常线程,但这对我不起作用

编辑:所以问题是:如何在不暂停 python 中的整个程序的情况下休眠一个线程,如果可能的话,你能给我一个如何做的例子吗?

编辑 2:如果可能的话,不用 tkinter

编辑 3:修复它,它已经工作了,但我没有看到它,因为打印不能跨线程工作......我很傻。

【问题讨论】:

  • 你有什么问题?
  • 见标题,如何在不停止整个程序的情况下运行线程
  • 欢迎来到 Stack Overflow。目前,无法正确回答您的问题。请提供Minimal, Complete and Verifiable Example。在这种情况下,可能是您尝试使用线程和while 循环。
  • 对于edit2:tkinter 与线程有什么关系?
  • 我已经声明我自己尝试了一个while循环...

标签: python multithreading python-2.7 loops sleep


【解决方案1】:

我认为,您必须在 python 中寻找 asyncio 库,它具有暂停和恢复您的功能并使您的功能成为状态机的功能。对于您的睡眠需求,可以使用 asyncio.sleep 函数。请参阅 http://www.programcreek.com/python/example/81223/asyncio.sleep 以查看 asyncio.sleep 的示例。

也可以参考https://hackernoon.com/asyncio-for-the-working-python-developer-5c468e6e2e8e#.frn3lo7vb的好文章

【讨论】:

  • 感谢您的支持,asyncio 是真的只适用于 python 3 还是有 2.7 版本?
  • 它只在 python 3 中可用。
  • 啊,还有其他好的选择还是我应该将我的程序移植到 python 3?
  • 也许你可以寻找gevents,但我仍然不确定。但它也执行与 asyncio 类似的相同类型的异步处理,并且在 python 2 中也可用。
【解决方案2】:

我真傻,线程工作但打印不能跨线程工作。感谢大家的帮助!

【讨论】:

    猜你喜欢
    • 2022-12-10
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    相关资源
    最近更新 更多