无需使用线程即可持续跟踪时间

时间:2012-01-28 17:40:21

标签: python multithreading

如何在不使用线程的情况下持续跟踪时间?我问这个,因为python中的线程通常被低估,特别是因为它“增加了”任何程序的复杂性。我的程序需要接收/发送WiFi命令,接收/发送XBee(串行)命令,以及不断跟踪时间。

最佳解决方案是什么?我应该继续使用线程还是有替代解决方案?

3 个答案:

答案 0 :(得分:1)

您可以对程序进行检测,使其定期调用计时功能,也可以使用线程。

如果计时可以通过第二个进程完成,这在管理复杂性方面会更好,但是你没有说明为什么需要时间,所以我无法判断这是一种可能性。

线程不是邪恶的,它们不应该是你的第一手段。

答案 1 :(得分:1)

在线程/多处理之外,您还可以使用timer signals,这可能比“检测程序”更容易进行调用本身,或者创建自己的主循环。

答案 2 :(得分:0)

取决于您正在做的其他事情:如果您执行的其他操作只涉及通过文件描述符的I / O,那么您可以使用one of the select calls。指定超时,以便在该时间间隔内没有任何反应时,呼叫将返回,以便您可以在再次拨打电话之前更新时钟。