第2章 lecture4非阻塞通信.pptVIP

  • 6
  • 0
  • 约2.52万字
  • 约 91页
  • 2017-05-27 发布于湖北
  • 举报
第四章 非阻塞通信 主要内容 线程阻塞的概念 Java.nio包中类的介绍: ServerSocketChannel SocketChannel Selector/SelectionKey/ByteBuffer等 阻塞模式与非阻塞模式的实现 4.1线程阻塞的概念 处于阻塞状态的线程共同特征: 1、放弃CPU,暂停运行,只有等待导致阻塞的原因消除,才能恢复运行; 2、或者被其他线程中断,该线程会退出阻塞状态,并且抛出InterruptedException 4.1线程阻塞的原因 1、线程执行Thread.sleep(int n); 2、线程要执行一段同步代码 3、线程执行了一个对象的wait()方法,只有其他线程执行了该对象的notify()或notifyAll()方法,才能将其唤醒 4、线程执行I/O操作,如ReadLine之类的方法。 客户程序线程进入阻塞状态的情况 1、客户程序与服务器建立连接时,会进入阻塞状态,直到连接成功,线程才返回 2、线程从Socket的输入流读入数据时,如果没有足够的数据,就进入阻塞状态,直到读到足够数据,或到达输入流末尾,或者异常,才会返回。输入流的不同读方法: int read():输入一个字节就足够 int read(byte[] buff):输入流字节数和数组长度相同 String readLine():输入流中有一行字符串就足够,需要Bu

文档评论(0)

1亿VIP精品文档

相关文档