#!/usr/bin/env python
# -*- encoding: utf-8 -*-
from concurrent.futures import ThreadPoolExecutor as ConThreadPoolExecutor, as_completed
from loguru import logger
class Hello():
def __init__(self):
self.pool_num = 4
def print_hello(self, num):
for i in range(num):
logger.info("{}-{}".format(i, "test" + str(i)))
# i = 0
# while i <= num:
# logger.info("{}-{}".format(i, "test" + str(i)))
# i+=1
def start_run(self):
tp = ConThreadPoolExecutor(max_workers=self.pool_num)
tp.submit(self.print_hello, 100)
tp.shutdown(wait=True)
logger.info('end')
def start_run2(self):
tp = ConThreadPoolExecutor(max_workers=self.pool_num)
nums = [2, 1, 3]
all_task = [tp.submit(self.print_hello, num) for num in nums]
for future in as_completed(all_task):
data = future.result()
print("in main: get page {}s success".format(data))
logger.info('end')
if __name__ == '__main__':
obj = Hello()
obj.start_run()