Thanks you. I've resolved it! ;)
 

On 8/8/07, Christopher Armstrong <radix@twistedmatrix.com> wrote:
On 8/7/07, Yan Zhu <nayuhz@gmail.com> wrote:
> Hi all, I run a reactor in my thread, so I will get many connection by
> twisted, and I run another thread for write back data to any connection.

You don't need to have multiple threads to communicate with multiple
connections!

> But I've found the data is in buffer, not sent back
> immediately.

This is because you're calling Twisted functions from non-reactor
threads. Twisted doesn't support this. The *only* threadsafe function
to call is reactor.callFromThread. You pass it a function to run in
the reactor thread.

If all you need is concurrent asynchronous I/O, you don't need
threads. Twisted is an *asynchronous* networking framework. You can do
all of your communication efficiently in one thread.

--
Christopher Armstrong
International Man of Twistery
http://radix.twistedmatrix.com/
http://twistedmatrix.com/
http://canonical.com/

_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python



--
eSX