Hi, I need an additional thread in my app, and I am trying to understand how it works. Alas, all I found about threads is too simple (does not fit in my real life problem) or too complicated. The best thing I've read until now is the great tutorial by Norman Matloff, but it isn't enough. If you could point me to some more docs, it would be great. The python docs have been of no use for me in this case.
Anyway, I am trying to play a little with it, and I can't understand what's happening in this simple example. I want to establish a connection between my two threads by a os.pipe, but it seems like I can only read the pipe when everything was done. I was hoping to see the output of writer.py come out in real time, but it is coming out all together when writer.py returns. Why? Thanks, Tiago Saboga. =====writer.py======= #!/usr/bin/python2.5 import time for i in range(10): print 'Line number %s.' % i time.sleep(1) ======threadit.py======= #!/usr/bin/python2.5 from __future__ import with_statement import thread import subprocess import os def run(out): subprocess.Popen(['./writer.py'], stdout=os.fdopen(out, 'w')) def main(): out_r, out_w = os.pipe() thread.start_new_thread(run, (out_w,)) with os.fdopen(out_r) as f: while True: line=f.readline() if line: print '[main]', line if __name__=='__main__': main() _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor