public final class NioEventLoop extends SingleThreadEventLoop
SingleThreadEventLoop
实现注册Channel
的Selector
和这些事件循环中的多重复合。
DEFAULT_MAX_PENDING_TASKS
Modifier and Type | Method and Description |
---|---|
protected void |
cleanup()
无所作为,子类可能会覆盖
|
int |
getIoRatio()
返回在事件循环中花费I / O所需时间的百分比。
|
protected java.util.Queue<java.lang.Runnable> |
newTaskQueue(int maxPendingTasks)
创建一个新的
Queue ,它将保存要执行的任务。
|
int |
pendingTasks()
返回待处理任务的数量。
|
protected java.lang.Runnable |
pollTask() |
void |
rebuildSelector()
用新创建的
Selector 替换当前
Selector 这个事件循环,以解决臭名昭着的100%CPU bug。
|
void |
register(java.nio.channels.SelectableChannel ch, int interestOps, NioTask<?> task)
将任意
SelectableChannel (不一定由Netty创建)注册到此事件循环的
Selector 。
|
protected void |
run() |
java.nio.channels.spi.SelectorProvider |
selectorProvider()
返回此 SelectorProvider 使用的SelectorProvider以获取Selector 。
|
void |
setIoRatio(int ioRatio)
设置在事件循环中花费I / O所需时间的百分比。
|
protected void |
wakeup(boolean inEventLoop) |
afterRunningAllTasks, executeAfterEventLoopIteration, hasTasks, next, parent, register, register, register, wakesUpForTask
addShutdownHook, addTask, awaitTermination, confirmShutdown, delayNanos, execute, inEventLoop, interruptThread, invokeAll, invokeAll, invokeAny, invokeAny, isShutdown, isShuttingDown, isTerminated, newTaskQueue, peekTask, pollTaskFrom, reject, reject, removeShutdownHook, removeTask, runAllTasks, runAllTasks, runAllTasksFrom, shutdown, shutdownGracefully, takeTask, terminationFuture, threadProperties, updateLastExecutionTime
cancelScheduledTasks, hasScheduledTasks, nanoTime, nextScheduledTaskNano, pollScheduledTask, pollScheduledTask, schedule, schedule, scheduleAtFixedRate, scheduleWithFixedDelay
inEventLoop, iterator, newFailedFuture, newProgressivePromise, newPromise, newSucceededFuture, newTaskFor, newTaskFor, safeExecute, shutdownGracefully, shutdownNow, submit, submit, submit
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
inEventLoop, inEventLoop, newFailedFuture, newProgressivePromise, newPromise, newSucceededFuture
isShuttingDown, iterator, schedule, schedule, scheduleAtFixedRate, scheduleWithFixedDelay, shutdown, shutdownGracefully, shutdownGracefully, shutdownNow, submit, submit, submit, terminationFuture
public java.nio.channels.spi.SelectorProvider selectorProvider()
SelectorProvider
使用的SelectorProvider以获得Selector
。
protected java.util.Queue<java.lang.Runnable> newTaskQueue(int maxPendingTasks)
SingleThreadEventExecutor
Queue
,它将保存要执行的任务。
这个默认的实现将返回一个LinkedBlockingQueue
但是如果你的子类SingleThreadEventExecutor
不会在这个Queue
上做任何阻塞调用,它可能对@Override
有意义的,并返回一些不支持阻塞操作的更高性能的实现。
public int pendingTasks()
SingleThreadEventExecutor
pendingTasks
在课堂上
SingleThreadEventLoop
public void register(java.nio.channels.SelectableChannel ch, int interestOps, NioTask<?> task)
SelectableChannel
(不一定由Netty创建)注册到此事件循环的Selector
。
一旦指定的SelectableChannel
注册,指定的task
将这一事件循环被执行时SelectableChannel
已准备就绪。
public int getIoRatio()
public void setIoRatio(int ioRatio)
50
,这意味着事件循环将尝试花费I / O的时间与非I / O任务相同的时间。
public void rebuildSelector()
Selector
替换当前的
Selector
这个事件循环,以解决臭名昭着的100%的CPU bug。
protected void run()
run
在课堂上
SingleThreadEventExecutor
protected void cleanup()
SingleThreadEventExecutor
cleanup
在课堂上
SingleThreadEventExecutor
protected java.lang.Runnable pollTask()
pollTask
在课堂上
SingleThreadEventExecutor
Queue.poll()
protected void wakeup(boolean inEventLoop)
wakeup
在课堂上
SingleThreadEventExecutor
Copyright © 2008–2018 The Netty Project. All rights reserved.