【发布时间】:2018-07-29 15:15:31
【问题描述】:
所以这是我的方案。我有一个 python 脚本,它在一个无限循环中运行,它接受用户输入。
但是我现在希望另一个函数在阻塞的主循环(等待 python 的 input() 函数)仍在运行时每隔 n 秒执行一次操作。我研究了异步和调度,但它们似乎不适用于阻塞函数调用,还是我弄错了?
我已经研究过多处理,但还不能完全理解我应该如何做。
编辑:
if __name__ == "__main__":
def survivor():
count = 5
while count:
print("alive")
time.sleep(8)
count -= 1
print("done")
test = JobChainClient()
cli = threading.Thread(name="cli", target=test.getShell())
network = threading.Thread(name="network", target=survivor())
cli.start()
network.start()
print("Done")
此代码获取我的 CLI,它是一个无限的 while 循环和我的网络守护程序。当我运行它时,它显然可以工作,但问题是:
(JobChain) > exit
Closing JobChain client now!
alive
alive
alive
我的循环在退出命令后中断,只有另一个线程开始,我可能只是在这里遗漏了一些东西,请纠正我。
【问题讨论】:
标签: python asynchronous python-asyncio