You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 26 Next »

The following blocking operations are virtual thread friendly; these methods do not pin the carrier thread when the operation blocks.

APIBlocking MethodsNotes
java.net.Socketconnect, read, write
java.net.ServerSocketaccept
java.net.DatagramSocket/MulticastSocketreceive



java.nio.channels.SocketChannelconnect, read, writesocket adaptor connect, read, and write also okay
java.nio.channels.ServerSocketChannelacceptsocket adaptor accept also okay
java.nio.channels.DatagramChannelread, receive

socket adaptor receive also okay

java.nio.channels.Pipe.SourceChannelread
java.nio.channels.Pipe.SinkChannelwrite


The following blocking uses the ForkJoinPool.ManagedBocker mechanism to temporarily expand the parallelism until the blocking operation completes.

APIMethods
java.io.FileAll file I/O operations
java.io.FileInputStreamopen, read, skip
java.io.FileOutputStreamopen, write
java.io.RandomAccessFileopen, read, write, seek
java.io.ConsoleAll read, format and PrintStream operations


java.net.InetAddressAll lookup operations


java.nio.MappedByteBufferforce
java.nio.channels.SelectorAll blocking selection operations
java.nio.channels.FileChannelread, write, lock, truncate, force, transferTo
java.nio.fileAll file I/O operations
  • No labels