• python 队列Queue


    from Queue import Queue
    
    qlist=Queue(maxsize=300)
    import threading
    
    for i in range(20):
        qlist.put("hello num%d" %(i))
    
    def process_work(qlist):
        while True:
            val=qlist.get()
            print val + "
    "
            qlist.task_done()
            qlist.join()
    
    
    workers = [threading.Thread(target=process_work, args=(qlist,)),
            threading.Thread(target=process_work, args=(qlist,))
            ]
    
    threads = []
    
    for i in range(20):
        task=threading.Thread(target=process_work, args=(qlist,))
        threads.append(task)
    
    
    
    for w in threads:
        w.setDaemon(True)
        w.start();
    
    qlist.join()
    
    
    # def worker():
    #     while True:
    #         item = q.get()
    #         do_work(item)
    #         q.task_done()
    
    # q = Queue()
    # for i in range(num_worker_threads):
    #      t = Thread(target=worker)
    #      t.daemon = True
    #      t.start()
    
    # for item in source():
    #     q.put(item)
    
    # q.join()
    
    #print "hello {} your age {}".format("zhangsan",18)
    
    # import Queue
    # import threading
    
    # class Job(object):
    #     def __init__(self, priority, description):
    #         self.priority = priority
    #         self.description = description
    #         print 'Job:',description
    #         return
    #     def __cmp__(self, other):
    #         return cmp(self.priority, other.priority)
    
    # q = Queue.PriorityQueue()
    
    # q.put(Job(3, 'level 3 job'))
    # q.put(Job(10, 'level 10 job'))
    # q.put(Job(1, 'level 1 job'))
    
    # def process_job(q):
    #     while True:
    #         next_job = q.get()
    #         print 'for:', next_job.description
    #         q.task_done()
    
    # workers = [threading.Thread(target=process_job, args=(q,)),
    #         threading.Thread(target=process_job, args=(q,))
    #         ]
    
    # for w in workers:
    #     w.setDaemon(True)
    #     w.start()
    
    # q.join()
    # -*- coding: UTF-8 -*-
    
    from Queue import Queue
    import threading
    import time
    import random
    
    task_list=Queue()
    
    #生产者,生产数据
    def product():
        while True:
            value = random.randint(1,10)
            task_list.put(value)
            print "生产数据 %d" % value
            time.sleep(1)
    
    
    def consume():
        while True:
            time.sleep(3)
            value = task_list.get()
            print "消费数据 %d" % value
    
    
    theaad_list = []
    
    product_task = threading.Thread(target = product)
    product_task.start()
    
    consume_task = threading.Thread(target = consume)
    consume_task.start()
    
    theaad_list.append(product_task)
    theaad_list.append(consume_task)
    
    for i in theaad_list:
        i.join()
    
    print
  • 相关阅读:
    2017第5周五随想录~改变活法
    2017第5周四
    《高绩效教练》笔记
    2017第5周二杭州印象
    2017第5周一
    代码自动生成工具_java版
    20个代码生成框架
    通过数据库表自动生成POJO(JavaBean)对象
    java工具类–自动将数据库表生成javabean
    Nginx+Tomcat+Memcached负载均衡集群服务搭建
  • 原文地址:https://www.cnblogs.com/jkklearn/p/12977540.html
Copyright © 2020-2023  润新知