Connection类中的readString()方法阻塞怎么办?

04-10-27 liudaoke
第一章的SOCKET API设计中,彭老师用了readString()方法,实际上是从一个队列里面取数据,但是如果取不到,岂不是一直阻塞在那里等待队列里有数据才返回??

如果我的程序中要判断readString()的返回值,那就没法了,因为一直阻塞在那里.

banq
2004-10-27 17:57
只是一个线程暂停在哪里,不是Block,是否Block可通过CPU占用查看

liudaoke
2004-10-28 10:05
谢谢彭老师.一个线程暂停在那里,是在等待队列中有数据,那么如何控制等待时间呢?比如基于UDP的发送,发送方发了一个包,然后readString()暂停,

等待一定时间超时没有收到应答,然后要重发刚才的包.这个超时怎么能控制呢?

猜你喜欢