Python脚本挂起并说现在调用了超时线程
我想并行运行各种命令。我正在使用线程 下面是我的程序Python脚本挂起并说现在调用了超时线程,python,multithreading,Python,Multithreading,我想并行运行各种命令。我正在使用线程 下面是我的程序 def run(): DeviceList = { 'naa.500601': ['vmhba4:C0:T3:L0', 'vmhba4:C0:T2:L0', 'vmhba3:C0:T3:L0', 'vmhba3:C0:T2:L0'] 'naa.50002': ['vmhba4:C0:T0:L2', 'vmhba3:C0:T0:L2'] 'naa.50002a':['vmhba4:C0:T0:L0', 'vmhba
def run():
DeviceList = {
'naa.500601': ['vmhba4:C0:T3:L0', 'vmhba4:C0:T2:L0', 'vmhba3:C0:T3:L0',
'vmhba3:C0:T2:L0']
'naa.50002': ['vmhba4:C0:T0:L2', 'vmhba3:C0:T0:L2']
'naa.50002a':['vmhba4:C0:T0:L0', 'vmhba3:C0:T0:L0']
'naa.6005': ['vmhba2:C0:T0:L1']
'naa.60a98':['vmhba3:C0:T10:L11', 'vmhba4:C0:T12:L11', 'vmhba3:C0:T11:L11',
'vmhba4:C0:T13:L11', 'vmhba3:C0:T12:L11', 'vmhba3:C0:T13:L11',
'vmhba4:C0:T10:L11', 'vmhba4:C0:T11:L11']
'naa.60a980': ['vmhba4:C0:T13:L43', 'vmhba3:C0:T12:L43', 'vmhba3:C0:T13:L43',
'vmhba4:C0:T10:L43', 'vmhba4:C0:T11:L43', 'vmhba3:C0:T10:L43',
'vmhba4:C0:T12:L43', 'vmhba3:C0:T11:L43']
}
Threads = []
for device,paths in DeviceList.items():
disablePathThread = threading.Thread(target = DisableStoragePath,args=(paths,))
disablePathThread.start()
Threads.append(disablePathThread)
for t in Threads:
t.join()
def DisableStoragePath(paths):
for path in paths:
'''
Execute some command
'''
run() # Invoke Run method
当我运行这个程序时,它运行了一段时间,之后它被挂起,几分钟后,线程超时,并显示错误消息“Timeout thread Called now for pathEnableDisable.py”
如果我的字典“DeviceList”中有更多键和值,它将挂起
你能帮我解释一下为什么程序会被挂起。“执行一些命令”,什么命令?如果你用
多处理。进程
替换线程
,脚本的其余部分保持不变,会发生什么情况?