老师您好,在写测试用例的时候,实现一个process函数,用于打印一些东西
def process():
#多个任务会并发执行
time.sleep(1)
print "This is a SimpleTask callable function... 1"
time.sleep(1)
print "This is a SimpleTask callable function... 2"
然后还实现了一个SimpleTask类,
class SimpleTask(Task.Task):
def __init__(self, callable): #传递一个函数引用
super(SimpleTask, self).__init__(callable) #直接调用父类的构造函数
请问老师,
1.在执行
simple_task = SimpleTask(process)
test_pool.put(simple_task)
的时候,是否可以理解为每一个simple_task 就是一个线程,然后将这一个个线程添加到线程池中去执行呢?
2是否应该在添加完成后,最后用test_pool.join()来结束线程池呢?像下面这样:
def test(task_num = 10):
#1.初始化线程池
test_pool = Pool.ThreadPool(100)
test_pool.start()
#2.生成一系列任务
for i in range(task_num):
simple_task = SimpleTask(process)
#3.往线程池提交任务
test_pool.put(simple_task)
test_pool.join()
否则的话线程池是否会一直不停止?
3.执行结果为
显示执行了function1,又执行了function2应该怎样理解呢?
期待老师对上述问题的答复,谢谢老师,麻烦了。