zoukankan      html  css  js  c++  java
  • python自带queue

    
    from queue import Queue  # 线程安全队列
    
    
    def thread_queue():
        q = Queue(3)  # 这个队列最多进多少东西
        q.put('a')
        q.put('b')  # 队列满的时候会阻塞
    
        print(q.get())  # get会阻塞(队列为空的时候)
        print(q.get())
    
    
    def process_queue():
        # 进程安全队列
        from multiprocessing import Manager
    
        mgr = Manager()
        q = mgr.Queue()
    
        q.put('a')
        q.put('b')  # 队列满的时候会阻塞
    
        print(q.get())  # get会阻塞(队列为空的时候)
        print(q.get())
    
    
    def func(list_proxy, string):
        list_proxy.append(string)
    
    
    def process_chat():
        # 进程之间的通信: Manager对象的基本使用
        from multiprocessing import Manager, Process
        mgr = Manager()
    
        list_proxy = mgr.list()  # 常用的空间类型有mgr.list() mgr.dict() 、mgr.Queue()
        print(list_proxy)
    
        p = Process(target=func, args=(list_proxy, "1"))  # args必须是元祖
        p2 = Process(target=func, args=(list_proxy, '2'))
    
        p.start()
        print(list_proxy)
        p.join()
        print(list_proxy)
        p2.start()
        p2.join()
        print(list_proxy)
    
    
    if __name__ == '__main__':
        process_chat()
    
    
    
    
    
  • 相关阅读:
    基础
    树梅派线程
    超声波
    电脑版微信双开多开
    子类能不能重写父类的构造方法
    window8taskost.exe一直占用cpu
    windows下rocketmq安装
    spring循环依赖问题
    线程池的种类
    并行和并发有什么区别?
  • 原文地址:https://www.cnblogs.com/lajiao/p/11685716.html
Copyright © 2011-2022 走看看