• python 线程、进程


    # 单线程
    

    from threading import Thread

    p =Thread(target=func, args=("arguments",)) p.start() p.join() # 等待子进程结束后再继续往下运行

    # 线程池


    
    
    from  concurrent.futures import ThreadPoolExecutor

    '''
    线程池: map:接收一个函数,和一个参数元组,遍历元组,执行len(元组)次线程 submit:接收一个函数和参数,执行一次线程 :return: ''' with ThreadPoolExecutor(10) as tpe: # args = map(lambda i:'33[1;32mThreadPoolExecutor %d33[0m' % i,range(10)) # tpe.map(run,tuple(args)) for i in range(10): tpe.submit(run,'33[1;32mThreadPoolExecutor %d33[0m' %i)

    #进程以及进程通信


    from multiprocessing import Process,Queue,Pipe,Manager
      
      
    '''
    Queue:进程队列,用于数据交换
    Pipe:进程管道,用于数据交换
    Manager:同步管理器,用于数据共享
    '''
    # 创建进程队列
       queue = Queue()
    # 必须在多进程创建之前,创建管道,该管道是双向的
       (output_p, input_p) = Pipe()
    #创建同步管理器
       l = Manager().list()
       d = Manager().dict()
       p = Process(target=run2, args=(queue,output_p,input_p,l,d))
        p.start()
        p.join()  # 等待子进程结束后再继续往下运行

    # 进程池

    
    
    from multiprocessing import Process,Pool
    pool = Pool(2)
    for i in range(10):
      pool.apply_async(func
    =run, args=('33[1;32mpool %d33[0m' % i,))
    #close 和join都不能缺少且顺序要对
    pool.close()
    pool.join()

  • 相关阅读:
    Bzoj1101 [POI2007]Zap
    Bzoj2393 Cirno的完美算数教室
    UVa10891 Game of Sum
    Bzoj4128 Matrix
    类的组合
    继承
    属性查找与绑定方法
    类与对象
    面向对象程序设计——基础概念
    修改个人信息的程序
  • 原文地址:https://www.cnblogs.com/lides/p/11192700.html
Copyright © 2020-2023  润新知