我有两个函数要做一些事情。我需要它们同时运行,直到except情况发生,所以我使用了多重处理,但是每当我执行代码时,它从代码的开头无限地运行,其中有几行代码,然后是两个函数。我的代码如下所示:
'''
few line of code
'''
def func_1():
# Do Somthing
def func_2():
# Do Somthing
while True:
try:
if __name__ == '__main__':
sensor_process = Process(target=sensor)
sensor_process.start()
balance_process = Process(target=balance_fun)
balance_process.start()
except(KeyboardInterrupt, SystemExit):
break
我的代码从一开始就无限地执行,或者问题出在其他地方,这样的多重处理有什么问题吗?你知道吗
你的代码中有一些要点。首先,如果要执行多个函数,并不意味着每次都要像当前那样创建多个进程。每个函数只需要一个进程或线程。 其次,我假设您希望您的函数永远同时运行,所以您需要在每个函数中放置无限循环。你知道吗
为主进程设置睡眠以获得键盘中断:
此外,我认为在无限循环中创建新进程不是一个好的做法。你知道吗
我想你是想这样做的:
这将在一个单独的进程中运行每个函数,并等待两个进程完成后退出。另外,如果您添加了更多的函数,您只需要将它们添加到
function_list
,而不是复制和修改代码块。你知道吗相关问题 更多 >
编程相关推荐