线程问题 在我做一个聊天室的时候服务器与客户端都有一个while死循环对输入输出流进行监听。不断的读出数据。为什么当读出的数据为空时候他会等待另一头的输入呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那个accept方法在没有数据来的时候是阻塞的,也就是说卡在那里不会往后面走的,后面的read自然不会调用 Sorry,我说错了,那个accept的意思是开始接收,阻塞的是后面的read 在read和write流的时候,你也应该另外启动线程来操作 JDK中Socket对象的read操作是阻塞操作;你可以使用JDK1.4 后的NIO,其中提供selector对象,实现异步方式通讯 阻塞读的时候,如果对方不发送数据,接收方的线程是被阻塞的。这个时候,不能称为“读出的数据为空”,因为read方法并没有返回,而是线程被阻塞了。 ServerSocketChannelpublic abstract SocketChannel accept() throws IOException接受到此通道套接字的连接。 如果此通道处于非阻塞模式,那么在不存在挂起的连接时,此方法将直接返回 null。否则,在新的连接可用或者发生 I/O 错误之前会无限期地阻塞它。 java3d 图形相交 一段很简单的程序,但是输出却很急怪!!! 有关JToolBar的问题 日期转换问题! 请教《Java编程思想》中关于继承与finalize()的例子 怎么在JAVA里使用宋体字啊 API 文档中的这句是什么意思? 关于JInternalFrame的问题(需要高手)急急急!!!!! 请问:如何得到类和方法的分析树? 请教高手:解决Runtime类的traceMethodCalls(boolean)的问题??? 杭电hdu 2115 排名问题?(求助) 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 多文档界面是用多文档好还是用TAB页好啊?
这个时候,不能称为“读出的数据为空”,因为read方法并没有返回,而是线程被阻塞了。
throws IOException接受到此通道套接字的连接。
如果此通道处于非阻塞模式,那么在不存在挂起的连接时,此方法将直接返回 null。否则,在新的连接可用或者发生 I/O 错误之前会无限期地阻塞它。