The following blocking operations are fiber friendly, meaning the fiber will park without pinning the carrier thread when 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 when the socket is not ready for I/O.
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