关于IdTelnet的多线程处理的一些见解

2007年11月14日 | 分类: 程序设计 | 标签:

关于IdTelnet的多线程处理的一些见解。
最近使用IdTelnet作了个项目,同时使用了多线程来同时创建多个IdTelnet实例,在使用中发现调试信息里面处理数据的线程都是主线程。百思不得其解,不得不查看IdTelnet代码,发现其处理数据连接时确实为每个Telnet创建了一个IdTelnetReadThread线程,但是为何还是在主线程中处理逻辑呢?深入研究发现其Run函数是使用了Synchronize(FClient.DoOnDataAvailable);来处理数据。我晕,不至于为了稳定性这样敷衍我们吧,无法,只得去掉对indy的连接,直接使用其代码并去掉Synchronize,果然按照思路多线程运行起来,效果好了很多。。
唉,看来成熟的组件也有骗人的时候。。

anyShare分享到:
          
目前还没有任何评论.