There is only one type of threads in {@link OioClientSocketChannelFactory}; worker threads.
Each connected {@link Channel} has a dedicated worker thread, just like atraditional blocking I/O thread model.
Worker threads are acquired from the {@link Executor} which was specifiedwhen a {@link OioClientSocketChannelFactory} was created (i.e. {@code workerExecutor}.) Therefore, you should make sure the specified {@link Executor} is able tolend the sufficient number of threads.
Worker threads are acquired lazily, and then released when there's nothing left to process. All the related resources are also released when the worker threads are released. Therefore, to shut down a service gracefully, you should do the following:
A {@link SocketChannel} created by this factory does not support asynchronousoperations. Any I/O requests such as {@code "connect"} and {@code "write"}will be performed in a blocking manner. @author The Netty Project (netty-dev@lists.jboss.org) @author Trustin Lee (tlee@redhat.com) @version $Rev: 536 $, $Date: 2008-11-28 20:18:21 +0900 (Fri, 28 Nov 2008) $ @apiviz.landmark
|
|