The java.nio.channels.Selector and java.nio.channels.SelectableChannel classes can be used in concurrent threads safely

Prior to Java 11, the java.nio.channels.SelectableChannel class and java.nio.channels.Selector key set were not thread safe. The specification has been updated to provide safe use of these API's using concurrent threads. When a new channel is registered while a selection operation is in progress, it does not take effect until the next selection operation is in progress. This change does not effect code that is synchronized on the java.nio.channels.Selector selected-key set, but coding changes could be made to use the new thread safe API.

For additional information about the java.nio.channels.Selector class, see the Class java.nio.channels.Selector Java documentation.

For additional information about the java.nio.channels.SelectableChannel class, see the Class java.nio.channels.SelectableChannel Java documentation.

For more information on changes in JDK 11, see Release Notes in JDK 11.