[Tutor] demon / app I/F better way ?

Kent Johnson kent37 at tds.net
Sun Nov 14 18:20:37 CET 2004

I would put make a class to hold the demon thread. The main program can 
create the queue and pass it to the demon. Here is a simple example of a 
Worker thread that passes work back to a main program:

from threading import Thread
from Queue import Queue, Empty
from time import sleep

class Worker(Thread):
     ''' Every two seconds put some work in the queue '''
     def __init__(self, queue):
         self.queue = queue

     def run(self):
         while True:

def main():
     fifo = Queue()

     # Monitor the work queue from the Worker thread
     while True:
             work = fifo.get(False)
             print work
         except Empty:
             print 'Nothing to do'



Dave S wrote:
> Kent Johnson wrote:
>> Dave S wrote:
> ...mmm ... Now I have an idea as to what sockets are, I like threads to 
> :-), they seem OTT for what I need.
> Having decided on threading the demon, and using a fifo, the queue 
> module looks cool, I have one last dilema. One that quite often causes 
> me problems, that scope, namespace thing ;-)
> If I have my demon thread running, and I define a queue, it will work 
> fine, If I have my main app running and define a queue, it will also 
> work fine but this defines two seperate queues which are not joined, 
> data from one will not pass to the other.
> If I were to define a seperate script which handles the queue 
> 'fifio.py'  & import it to both the deamon thread & the main app, this 
> would use the class definition as a king of global variable. Would this 
> be the best way ? - more importantly would it work :-D !
> Dave

More information about the Tutor mailing list