Kr z wrote: > Hi, > > Do anyone know the Python source codes on how the client can send/"pump" > a lot of threads to the server class? > It isn't that difficult. Here's a basic threading framework that allows you to vary the number of threads fairly easily. Then you just have to make sure that each thread doesn't interfere with the others. Hope this helps.
The run() method is the network client tasks you want to run. I have used this scheme with a 200-SMTP-client setup and it worked very well, with the worker threads communication back to the master thread using Queue.Queue. ======== import time, threading, random class MyThread(threading.Thread): """ Each thread picks a 'random' integer between 0 and 19 and reports in once per second for that many seconds. """ def run(self): iterations = random.randint(0, 19) print "Thread", self.getName(), "starting", iterations, "iterations" for i in range(iterations): print " ", self.getName(), "is reporting " time.sleep(1) print self.getName(), "is DONE" def test(): threadList = [] # Create 5 MyThread() threads for i in range(5) : thread = MyThread() threadList.append(thread) # Start all threads for thread in threadList: thread.start() # As long as we have more than just the 'main' thread running, print out # a status message while threading.activeCount() > 1 : print str(threading.activeCount()), "threads running including main" time.sleep(1) if __name__ == '__main__': test() ======== regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC www.holdenweb.com PyCon TX 2006 www.python.org/pycon/ -- http://mail.python.org/mailman/listinfo/python-list