【发布时间】:2019-08-01 17:40:32
【问题描述】:
我想调用一个函数,该函数使用多处理库定期检查总线上的值(需要非阻塞)。有一种使用线程库的方法,但它不使用多个进程。
我已经看到使用线程库的此类功能的示例代码,但我想使用多处理库来实现相同的功能。多处理状态的官方文档:
“注意多处理不包含 threading.active_count()、threading.enumerate()、threading.settrace()、threading.setprofile()、threading.Timer 的类似物”
但是,在我看到的线程库示例中,它们使用 threading.Timer。多处理有类似的功能吗?
import time, threading
def foo():
print(time.ctime())
threading.Timer(10, foo).start()
foo()
#output:
#Thu Dec 22 14:46:08 2011
#Thu Dec 22 14:46:18 2011
#Thu Dec 22 14:46:28 2011
#Thu Dec 22 14:46:38 2011
Executing periodic actions in Python
上面的代码是与线程库一起使用的示例。另外,我想知道这是否是不好的做法,因为线程永远不会终止(.join())。
【问题讨论】:
-
@wwii 这不是重复的,因为我想使用多处理库函数来执行此操作。我不想使用线程库进行定期函数调用。
标签: python python-multiprocessing