擅长:python、mysql、java
<p>多线程处理是正确的。如果监视代码在循环中运行,可以定义一个函数</p>
<pre><code>def monitoring_loop():
while True:
# do the monitoring
</code></pre>
<p>然后,在调用<code>app.run()</code>之前,启动一个运行该函数的线程:</p>
^{pr2}$
<p>不要<code>join</code>线程-你希望它与你的Flask应用程序保持并行运行。如果您加入它,它将阻塞主执行线程直到它完成,这永远不会发生,因为它正在运行一个<code>while True</code>循环。在</p>
<p>要在监视线程和程序的其余部分之间进行通信,可以使用<a href="https://docs.python.org/3/library/queue.html#module-queue" rel="noreferrer">queue</a>在它们之间以线程安全的方式传递消息。在</p>