码迷,mamicode.com
首页 > 编程语言 > 详细

python多线程队列使用

时间:2014-11-04 07:01:20      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:python   多线程   

#线程1 -> 队列 -> 线程2 -> url_web

#

#

#

#!/usr/bin/env python
#! coding=utf-8
#!by=xiaohe
import Queue,threading,time,random
from moniItems import mon
import urllib2
from flask import Flask,request,json

queueLock = threading.Lock()

class t1(threading.Thread):
    def __init__(self,t_name,queue):
        threading.Thread.__init__(self,name=t_name)
        self.data = queue

    def run(self):
        #for i in range(5):
        while True:
            queueLock.acquire()
            if  self.data.empty():
                print time.ctime(),self.getName()
                self.data.put(mon().runAllGet())
                time.sleep(1)
                queueLock.release()
            else:
                queueLock.release()
        #print time.ctime(),self.getName(),"end"


class t2(threading.Thread):
    def __init__(self,t_name,queue):
        threading.Thread.__init__(self,name=t_name)
        self.data=queue
    def run(self):
        #for i in range(5):
        while True:
            queueLock.acquire()
            if not self.data.empty():
                vai = self.data.get()
                #print  self.getName() , vai
                a=urllib2.Request("http://reboot:8088", json.dumps(vai), {‘Content-Type‘: ‘application/json‘})
                urllib2.urlopen(a)
                queueLock.release()
            else:
                queueLock.release()
def mai():
    queue = Queue.Queue(5)
    tt1 = t1(‘shou‘,queue)
    tt2 = t2(‘fa‘,queue)
    tt1.start()
    tt2.start()
    tt1.join()
    tt2.join()
if __name__==‘__main__‘:
    mai()


本文出自 “小盒” 博客,请务必保留此出处http://zhangxiaohe.blog.51cto.com/7821029/1571305

python多线程队列使用

标签:python   多线程   

原文地址:http://zhangxiaohe.blog.51cto.com/7821029/1571305

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!