Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
替代Python中的线程(和终止线程)_Python_Multithreading - Fatal编程技术网

替代Python中的线程(和终止线程)

替代Python中的线程(和终止线程),python,multithreading,Python,Multithreading,我有一个python函数,它打开一些LED,然后暂停(time.sleep),然后通过Raspberry Pi关闭LED。它有点复杂-实际上是一堆不同模式的LED,所以有几百行代码。此函数在无限循环中执行所有操作。最初,我在线程中调用该函数,因为我有一些其他代码也在连续运行 现在,我需要能够终止函数。这可能在10秒或100秒后需要。每一次都将视情况而定。在浏览站点和研究线程时,仅仅终止线程听起来并不明智,而且我不能真正使用标志,因为函数中有太多的代码行 使用线程还有其他选择吗?如果线程之间不需要

我有一个python函数,它打开一些LED,然后暂停(time.sleep),然后通过Raspberry Pi关闭LED。它有点复杂-实际上是一堆不同模式的LED,所以有几百行代码。此函数在无限循环中执行所有操作。最初,我在线程中调用该函数,因为我有一些其他代码也在连续运行

现在,我需要能够终止函数。这可能在10秒或100秒后需要。每一次都将视情况而定。在浏览站点和研究线程时,仅仅终止线程听起来并不明智,而且我不能真正使用标志,因为函数中有太多的代码行


使用线程还有其他选择吗?

如果线程之间不需要太多显式数据共享,可以使用,这与
线程化模块非常类似,但使用进程(可以安全终止)。

如果线程之间不需要太多显式数据共享,可以使用,这与
线程化模块非常相似,但使用进程(可以安全终止)。

谢谢,似乎可以工作。所谓安全终止,您的意思是只使用“.terminate()”这样的命令:p=multiprocessing.Process(target=test)p.start()p.terminate()p.join()@user1624184:Yup。谢谢,似乎有效。所谓安全终止,您的意思是仅仅通过使用“.terminate()”这样:p=multiprocessing.Process(target=test)p.start()p.terminate()p.join()@user1624184:Yup。