我正在尝试制作一个温度监控模块,它将当前温度连续保存到一个文件中,然后使用 matplotlib 绘制一个图表,一旦它用于完成它。我已经让这个功能正常工作,所以我可以像这样使用它:
with TemperatureMonitoring():
# do stuff
当__enter__
被调用时,进程开始,这只是一个无限循环,休眠并写入文件,当__exit__
被调用时,进程终止并将文件绘制到屏幕上。
现在我想进行改进,所以我想让子进程控制父进程;如果温度太高太久,它将暂停并等待计算机冷却。这是我第一次使用该multiprocessing
模块,但似乎如果我暂停主进程,孩子也会暂停。因此,如果我确实达到了临界状态,它将无法自行取消暂停。因此,父级需要能够在代码完成执行时终止子级,并且子级需要能够在必要时暂停/恢复父级。有没有明显的方法可以做到这一点?