- 论坛徽章:
- 0
|
本帖最后由 aaa2520 于 2012-03-17 17:58 编辑
#! /usr/bin/env python
#coding=utf-8
#! /usr/bin/env python
# encoding=utf8/gbk
import re,codecs,sys,time
import queue,threading
class ThreadUrl(threading.Thread):
'这个线程负责从其中一个队列读取数据,保存到另外一个队列中'
def __init__(self,queue1,out_queue):
threading.Thread.__init__(self)
self.queue=queue1
self.out_queue=out_queue
def run(self):
while True:
self.z=self.queue.get()
print('线程get:'+str(self.z))
self.out_queue.put(self.z)
self.out_queue.task_done()
class DataSaveThread(threading.Thread):
'这个线程负责从其中队列读取数据'
def __init__(self,out_queue):
threading.Thread.__init__(self)
self.out_queue=out_queue
def run(self):
print('初始化')
while True:
print("读取:"+str(self.out_queue.get()))
queue1 =queue.Queue()
out_queue=queue.Queue()
for i in range(100) :
queue1.put(i)
queue1.task_done()
print('主线程put:'+str(i))
for i in range(2):
t=ThreadUrl(queue1,out_queue)
t.setDaemon(True)
t.start()
for i in range(2):
dt=DataSaveThread(out_queue)
dt.setDaemon(True)
dt.start()
queue1.join()
out_queue.join()
print('结束') |
|