python多线程为什么要用队列_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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值