how to use two threads to produce even and odd numbers?

Zoe Wendy xhtldbjbdv at gmail.com
Fri Jun 14 07:50:05 EDT 2013


I am going to compile a small python program in order to use Queue to produce a random with a thread. For example,  using one thread to print odd number, while another thread to print even number.

Here is my codes, please offer me some advice:


import threading
import random
import time
from Queue import Queue

class jishu (threading.Thread):

def __init__(self, threadname, queue):
threading.Thread.__init__(self, name = threadname)
self.sharedata = queue

def run(self):
for i %2 == 1 in range(200):
print self.getName(),'adding',i,'to queue'
self.sharedata.put(i)
time.sleep(random.randrange(10)/10.0)
print self.getName(),'Finished'


# oushu thread

class oushu(threading.Thread):


def __init__(self, threadname, queue):
threading.Thread.__init__(self, name = threadname)
self.sharedata = queue


def run(self):

for i %2 == 0 in range(200):
print self.getName(),'got a value:',self.sharedata.get()
time.sleep(random.randrange(10)/10.0)
print self.getName(),'Finished'



More information about the Python-list mailing list