【问题标题】:executing code from two files at the same time同时执行两个文件中的代码
【发布时间】:2021-05-13 13:34:58
【问题描述】:

我正在使用 pygame 创建一个编程游戏,其中两个用户编写他们的机器人,然后主应用程序执行代码。我在这个想法上遇到了真正的麻烦,因为它需要同时执行它们,而在后台它应该运行主应用程序。

我使用队列(将操作附加到列表)设法解决了这个问题,但实际上它不会并行执行代码,而是从机器人 A 读取行并将它们的操作发送到队列.然后是另一个。然后执行两个队列,首先是 Bot A,然后是 Bot B。这样不行。

我阅读了异步,但我不确定如何实际采用它并使其工作。我不确定这是否是我正在寻找的东西,或者我是否需要学习其他东西。

你可以在这里找到我的代码:https://github.com/WhiteHeadbanger/SpaceWar

如果代码不够好理解,我会努力改进的,不过我觉得还可以

【问题讨论】:

  • 您必须将相关代码添加到问题中。到场外资源的链接是不够的。请阅读How to create a Minimal, Reproducible ExampleHow do I ask a good question?
  • 我了解Rabbid,但是相关代码就是全部代码。没有“这部分不起作用”。
  • 请阅读minimal reproducible exampleHow to ask a good question。与问题相关的所有信息都应作为格式化文本包含在问题本身中,而不是外部链接或图像中。您在链接中拥有的代码并非全部相关。事实上,很大一部分似乎没有被使用或被注释掉。对于您将所有代码复制到一个文件中,删除所有不必要的内容并将其放入代码块中的问题是微不足道的工作。这将大大减少人们试图帮助您的时间和精力,从而为您提供更好的答案

标签: python python-3.x asynchronous parallel-processing pygame


【解决方案1】:

使用线程。

假设你有 2 个函数,foo 和 bar。做

import threading
threading.Thread(target=foo).start()
threading.Thread(target=bar).start()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 2014-11-09
    • 2021-12-29
    • 1970-01-01
    相关资源
    最近更新 更多