The following blocking operations are fiber friendly, meaning the fiber will park when the socket is not ready for I/O:
API | Methods | Notes |
---|---|---|
java.nio.channels.SocketChannel | read, write, close | |
socket adaptor: read, write, close | ||
java.nio.channels.ServerSocketChannel | accept, close | |
socket adaptor: accept, close | ||
java.nio.channels.DatagramChannel | read/receive, close | |
java.nio.channels.Pipe.SourceChannel | read, close | |
java.nio.channels.Pipe.SinkChannel | write, close | |
java.net.Socket | read, write, close | |
java.net.ServerSocket | accept, close |
The following blocking operations are not currently fiber friendly; these methods may pin the carrier thread:
API | Methods | Notes |
---|---|---|
java.nio.channels.DatagramChannel | socket adaptor: receive | |
java.net.DatagramSocket | receive | |
Thread.interrupt | If a thread is blocked in an I/O operation on an InterruptibleChannel then the channel is closed. The locking to support this is not yet fiber friendly so Thread.interrupt may pin the carrier thread while waiting for the blocking operations on the channel to abort. |
Overview
Content Tools
ThemeBuilder