zoukankan      html  css  js  c++  java
  • py 的 第 34 天

    1.进程,首先说了一下进程怎么写的,这个和线程写的不一样

    import multiprocessing
    data_list = []
    
    def task(arg):
        data_list.append(arg)
        print(data_list)
    
    
    def run():
        for i in range(10):
            p = multiprocessing.Process(target=task,args=(i,))
            # p = threading.Thread(target=task,args=(i,))
            p.start()
    
    if __name__ == '__main__':
        run()
    

     2。进程间的数据共享,本来是不可共享的

    import multiprocessing          这是线程模块
    import threading
    import queue            本来是queue。Queue是一个队列,但是线程好使,在这不好使了
    import time
    
    q = multiprocessing.Queue()
    
    def task(arg,q):
        q.put(arg)
    
    
    def run():
        for i in range(10):
            p = multiprocessing.Process(target=task, args=(i, q,))
            p.start()
    
        while True:
            v = q.get()
            print(v)
    run()
    
    # ##################### 进程间的数据共享:Manager #####################
    """
    def task(arg,dic):
        time.sleep(2)
        dic[arg] = 100
    
    if __name__ == '__main__':
        m = multiprocessing.Manager()
        dic=m.dic()   这是一个字典   只有这个字典才通用  d={}这样在这写不行,不能大家一起用
        
        process_list = []
        for i in range(10):
            p = multiprocessing.Process(target=task, args=(i,dic,))
            p.start()
    
            process_list.append(p)
    
        while True:
            count = 0
            for p in process_list:
                if not p.is_alive():      。is_alive是否还活着
                    count += 1
            if count == len(process_list):
                break
        print(dic)
        # ...
    """                                            刚才用的manager中queue方法,
    
  • 相关阅读:
    Codeforces 912E
    Codeforces 912D
    洛谷P4980 【模板】Polya定理
    51nod1222最小公倍数计数
    15 Puzzle LightOJ
    loj2734「JOISC 2016 Day 2」女装大佬 || 洛谷P3615 如厕计划
    Jongmah Codeforces
    洛谷P4238【模板】多项式求逆
    洛谷P4721 【模板】分治 FFT
    FFT,NTT
  • 原文地址:https://www.cnblogs.com/Mrszhao/p/9643054.html
Copyright © 2011-2022 走看看