需求
加入我们需要处理一串个位数(0~9),奇数时需要循环打印它;偶数则等待对应时长并完成所有任务;0则是错误,但不需要终止任务,可以自定义一些处理。
关键点
定义func函数处理需求
callback处理返回结果,只有偶数和0返回;奇数会一直执行;要控制线程池状态,则需要针对偶数和0时抛出异常,并捕获异常处理。
threadpool定义线程池并发
实现
# -*- coding: utf-8 -*-
from threadpool import makeRequests, ThreadPool
import time
from multiprocessing import Process
异常定义和特殊值(0)定义
class Finish(SyntaxWarning):
pass
class PauseInfo(SyntaxWarning):
pass
pause_num = 0
func函数定义
0时返回False,其他偶数返回True
def func(para):
if para == pause_num:
print('start for %d and wait %ds' % (para, 4))
time.sleep(4)