1.
# -*- coding: utf-8 -*-def get_multithreading_res(executor,fun_name,arg_list):
i = 1/0
return list(executor.map(fun_name, arg_list))
def task_func(i):
try:
if i == 'a':
i = i/0
return {'status': 0, 'msg': i}
if i == 'b':
return {'status': 1, 'msg': i}
if i == 'c':
return {'status': 0, 'msg': i}
except Exception as e:
return {'status': -1, 'msg': e}
def f1():
# 1.thread_arg
thread_arg=['a','b','c']
try:
# 2.提交多线程
multithread_res_list = get_multithreading_res(settings.common_executor, task_func, thread_arg)
print('multithread_res_list',multithread_res_list)
# 3.判断结果:
for i_thread_res in multithread_res_list:
if i_thread_res['status'] ==1:
print('返回成功',i_thread_res)
elif i_thread_res['status'] ==0:
print('返回失败',i_thread_res)
else:
print('调用task_func有异常', i_thread_res['msg'])
except Exception as e:
print('执行f1函数发生异常:%s' %e)
f1()
2.任务函数不做异常处理,出异常后,多线程中断:
# -*- coding: utf-8 -*-def get_multithreading_res(executor,fun_name,arg_list): return list(executor.map(fun_name, arg_list)) def task_func(i): if i == 'a': i = i/0 return {'status': 0, 'msg': i} if i == 'b': return {'status': 1, 'msg': i} if i == 'c': return {'status': 0, 'msg': i} def f1(): # 1.thread_arg thread_arg=['a','b','c'] try: # 2.提交多线程 multithread_res_list = get_multithreading_res(settings.common_executor, task_func, thread_arg) print('multithread_res_list',multithread_res_list) # 3.判断结果: for i_thread_res in multithread_res_list: if i_thread_res['status'] ==1: print('返回成功',i_thread_res) elif i_thread_res['status'] ==0: print('返回失败',i_thread_res) else: print('调用task_func有异常', i_thread_res['msg']) except Exception as e: print('执行f1函数发生异常:%s' %e) f1()
3.
# -*- coding: utf-8 -*-def get_multithreading_res(executor,fun_name,arg_list): return list(executor.map(fun_name, arg_list)) def task_func(i): try: if i == 'a': i = i/0 return {'status': 0, 'msg': i} if i == 'b': return {'status': 1, 'msg': i} if i == 'c': return {'status': 0, 'msg': i} except Exception as e: return {'status': -1, 'msg': e} def f1(): # 1.thread_arg thread_arg=['a','b','c'] try: # 2.提交多线程 multithread_res_list = get_multithreading_res(settings.common_executor, task_func, thread_arg) print('multithread_res_list',multithread_res_list) # 3.判断结果: for i_thread_res in multithread_res_list: if i_thread_res['status'] ==1: print('返回成功',i_thread_res) elif i_thread_res['status'] ==0: print('返回失败',i_thread_res) else: print('调用task_func有异常', i_thread_res['msg']) except Exception as e: print('执行f1函数发生异常:%s' %e) f1()
2.