您的位置:首页 > 编程语言 > Python开发

python多线程队列使用

2014-11-03 16:09 495 查看
#线程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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: