|
|
1
1
我假设您希望保持它是单线程的,并且不使用Asyncio。在这种情况下,你可能想雇用 观察者 或 发布/订阅 实施SPI时的模式:
所以你可以这样使用它:
我没有做任何事情来发送SPI消息
|
|
|
2
1
你可以移动
正如您的评论中所述,您需要更多关于正在发生的事情的时间线视图。您可以有一个明确的时间表,组件与之交互。外部输入(状态更改)可以以相同的方式预先设置。要订购Timemline,我将每次运行sort,但使用类似于 priority queue . 这主要不同于vovanrock2002的答案,它不是在每个时间步骤中递归,而是有一个明确的时间线。
这样,您就有了一个明确的时间线(您也可以“记录”,只需将每个弹出的事件添加到某个列表中),并且您可以拥有任意连接的组件(例如,如果您希望有多个SPI)。 |