当前位置: 首页 > 面试题库 >

如何在Python中使用threading.Thread产生其其余部分?

薄鸿远
2023-03-14
问题内容

我有一个正在轮询硬件的线程。

while not hardware_is_ready():
    pass
process_data_from_hardware()

但是可能还有其他线程(和进程!)需要处理。如果是这样,我不想消耗CPU检查其他所有指令的硬件。自从我处理线程以来已经有一段时间了,那时我还不是Python,但是我相信大多数线程库都有一个yield函数或某种允许线程告诉调度程序“给其他线程一个机会”的东西。

while not hardware_is_ready():
    threading.yield()          # This function doesn't exist.
process_data_from_hardware()

但是我在线程文档中找不到对此类内容的任何引用。Python确实有一条yield语句,但是我很确定这完全是另一件事(与生成器有关)。

在这里做什么正确的事?


问题答案:

time.sleep(0)足以控制产量-无需使用正epsilon。确实,time.sleep(0)MEANS“屈服于任何其他可能准备就绪的线程”。



 类似资料:
  • 问题内容: 如何使用其余API在jira中创建问题。我已经尝试过使用curl的示例。但是我需要使用java和rest api在eclipse中创建缺陷。 问题答案: 您想将JIRA集成到Eclipse中吗? 参见:https : //confluence.atlassian.com/display/IDEPLUGIN/Working+with+JIRA+Issues+in+Eclipse 您想要自

  • 问题内容: 如果文件中有一组方法,是否可以将这些文件包含在另一个文件中,但不带任何前缀(即文件前缀)调用它们? 所以,如果我有: 我怎么这样称呼它: 问题答案: 您将需要将其他文件作为模块导入,如下所示: 如果您不想在函数名称前加上模块名称,请执行以下操作: 如果要导入模块的所有成员,请执行以下操作: 编辑: 这是Dive Into Python 的精彩一章,在该主题上有更深入的介绍。

  • 问题内容: 我有一个Google Maps应用程序占据了大部分页面。但是,我需要为菜单栏保留最上方的空间。如何使地图div自动填充其垂直空间? 不起作用,因为顶部栏随后会将地图推到页面底部。 问题答案: 您可以使用绝对定位。 HTML CSS 通过绝对定位并指定top,right,bottom和left属性,您将获得一个div占用整个视口。 然后,设置上为> =的高度。 最后,将其放置在内部并进行

  • 问题内容: 我想在我的(Python)代码中使用Django模板引擎,但是我没有构建基于Django的网站。如何在没有settings.py文件(和其他文件)且无需设置DJANGO_SETTINGS_MODULE环境变量的情况下使用它? 如果我运行以下代码: 我得到: 问题答案: 解决方案很简单。它实际上有据可查,但不太容易找到。(我必须仔细研究-当我尝试了几种其他的Google搜索时并没有出现。

  • 我一直从NGINX收到一个203错误,可能需要一些帮助来解决它。当我转到http://localhost, http://localhost/index ... 等。该网站的工作非常好。 形态: 我想这可能与此有关:拖尾斜杠的奇怪Nginx行为。但是我不完全明白。

  • 我需要从获取一些数据,并在中显示这些数据。我成功地从API获得了,但这只是数据的一部分,还有更多。如何获取的其余部分?是否应该在客户端处理?我是否应该使用不同的URL来获取更多数据?提前谢谢你。