- 論壇徽章:
- 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):
'這個線程負(fù)責(zé)從其中一個隊列讀取數(shù)據(jù),保存到另外一個隊列中'
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):
'這個線程負(fù)責(zé)從其中隊列讀取數(shù)據(jù)'
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('結(jié)束') |
|