2016-05-06 39 views
0

我有一个python函数打开一些LED,然后暂停(time.sleep),然后通过Raspberry Pi关闭LED。这比这更复杂一点 - 它实际上是一堆各种模式的LED,所以有几百行代码。此函数在无限循环中完成所有操作。最初,我在一个线程中调用函数,因为我还有一些其他代码也可以连续运行。替代Python中的线程(并终止线程)

现在,我需要能够终止该功能。这可能需要10秒或100秒后。每一次都将取决于。在查看网站和研究线程时,仅仅终止线程并不明智,我不能真正使用标志,因为函数中有很多代码行。

是否有使用线程的替代方法?

回答

2

如果你不需要在线程之间共享明显的数据共享,你可以使用multiprocessing,这与threading模块非常相似,但是使用了进程(可以安全地终止)。

+0

谢谢,似乎工作。通过终止安全,你的意思只是通过使用 “.terminate()”,例如: P = multiprocessing.Process(目标=测试) p.start() p.terminate() p.join() – user1624184

+0

@ user1624184:是的。 – ShadowRanger