zoukankan      html  css  js  c++  java
  • python 多线程多进程

    1, 使用python 提供的线程包

    https://docs.python.org/3/library/concurrent.futures.html#threadpoolexecutor-example

    import time
    from concurrent.futures import ProcessPoolExecutor, ThreadPoolExecutor,wait
    
    
    def main(page):
        time.sleep(2)
        return page**2
    
    def process_test():
        # 多进程
        t1 = time.time()
        with ProcessPoolExecutor(max_workers=10) as executor:
            all_task = [executor.submit(main,page) for page in range(100)]
            wait(all_task)
            for task in all_task:
                print(task.result())
        print("耗时:",time.time() -t1)
    
    
    def thread_test():
        t1 = time.time()
        with ThreadPoolExecutor(max_workers=10) as executor:
            all_task = [executor.submit(main, page) for page in range(100)]
            wait(all_task)
            for task in all_task:
                print(task.result())
        print("耗时:", time.time()-t1)
    
    def async_process_test():
        t1 = time.time()
        executor = ProcessPoolExecutor(max_workers=10)
        all_task = [executor.submit(main, page) for page in range(100)]
        # wait(all_task)       # 异步不等待直接就过
        print("耗时",time.time() - t1)
        return "res"
    
    
    if __name__ == '__main__':
        process_test()
        thread_test()
        res = async_process_test()
        print(res)
    

      

  • 相关阅读:
    loushang框架的开发中关于BSP的使用,将写好的功能模块部署到主页界面结构上
    浪潮“楼上”开发平台简介
    New博客园新的开始!
    python相关
    day20 函数闭包与装饰器
    计算机基础
    day19 生成器函数
    简历
    day18 迭代器
    数据库基础(代码)
  • 原文地址:https://www.cnblogs.com/wjun0/p/14701062.html
Copyright © 2011-2022 走看看