python多线程 - 一个线程工作,另一个等待

时间:2018-02-21 15:58:15

标签: python multithreading

我有两个python脚本需要集成在一个运行在两个不同线程上的脚本中。我无法将它们集成到同一个脚本中,因为其中一个脚本必须通过MQTT每2分钟执行一次任务,但第二个应该能够随时接收Web请求,所以我不能只是合并脚本..你能建议我用多线程运行它的方法是让一个线程每两分钟运行一次,第二个线程连续运行。 感谢

1 个答案:

答案 0 :(得分:0)

你还没有真正解释为什么你不能将它们组合起来。这是显而易见的解决方案(假设两个脚本中的所有内容都是线程安全的,它必须是,因为您正在考虑这一点。)

from threading import Thread

from program_a import do_a
from program_B import do_b

def main():
    a = Thread(target=do_a)
    b = Thread(target=do_b)
    a.start()
    b.start()
    a.join()
    b.join()

main()

使用线程正是允许program_a每两分钟更新一次MQTT,而program_b持续为web请求提供服务。