Java中的非阻塞写入顺序

时间:2014-08-02 21:31:04

标签: java sockets io nio channels

Java的NIO提供了许多有用的功能。其中之一是可能在通道上进行非阻塞写操作。这意味着写入方法在写入完成之前不会阻塞。

但是仍然提供所有写入的写入顺序与写入的顺序相同,即使这些方法没有阻塞吗?

1 个答案:

答案 0 :(得分:1)

考虑到NIO api不允许程序在前一次写入完成之前在同一个线程内写入相同的通道这一事实,您考虑的情况不太可能。抛出WritePendingException。来自文档:

  

尝试写入异步套接字通道并且之前的写入尚未完成时抛出未经检查的异常。

构建Async API的方式,您可以做的最多的事情是尝试从另一个线程写入,或者等到第一次写入完成后再启动另一个