python多任务编程-线程池-通过回调函数获取返回值


示例代码如下:

import threading
import time
from concurrent.futures import ThreadPoolExecutor


def make_food(food):
    print(food, "开始制作")
    time.sleep(2)
    print(food, "制作完成")
    return food


def get_finish_food(future):
    print(future.result())
    return future.result()


def main():

    food_list = ['番茄炒鸡蛋', '青椒炒牛肉']
	
    # 创建2个线程
    pool = ThreadPoolExecutor(max_workers=2)

    for food in food_list:
        future = pool.submit(make_food, food)
        # 不阻塞,通过回调函数,获取函数返回值
        future.add_done_callback(get_finish_food)


if __name__ == '__main__':
    main()


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM