RazmjenaVjestina
SchedulerSession1: Revision 2

{{{
def fun(slp):
        def lmbd():
                print " start"
                time.sleep(slp)
                print " end"
        return lmbd

def genThread(slip, fun):
        tp = ThreadPool(5)
        while 1:
                tp.request(fun)
                time.sleep(slip)

class ThreadPool:
        def __init__(self, noft):
                self.queue = Queue.Queue()
                for i in range(noft):
                        thread.start_new_thread(self.tfn, ())
        def tfn(self):
                while 1:
                        f = self.queue.get()
                        f()
        def request(self, foo):
                self.queue.put(foo)
}}}