zoukankan      html  css  js  c++  java
  • 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()

  • 相关阅读:
    iOS 面向对象
    iOS 构建动态库
    iOS 单例
    iOS 操作系统架构
    iOS 编译过程原理(1)
    Category
    CoreText
    dyld
    block
    (CoreText框架)NSAttributedString 2
  • 原文地址:https://www.cnblogs.com/lides/p/11192700.html
Copyright © 2011-2022 走看看