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方法,
    
  • 相关阅读:
    07_控制线程_join_线程插队
    06_线程的生命周期及状态
    05_线程间通信
    04_线程的创建和启动_使用Callable和Future的方式
    03_线程的创建和启动_实现Runnable接口方式
    02_线程的创建和启动_继承Thread方式
    01_基础知识
    07_XPath_02_常用语法
    二叉树分层遍历
    [LeetCode] Binary Tree Level Order Traversal II
  • 原文地址:https://www.cnblogs.com/Mrszhao/p/9643054.html
Copyright © 2011-2022 走看看