2015-02-17 2 views
0

При написании приложения netty я не уверен, какой пул потоков я должен использовать для моего обработчика конвейера.Разница между OrderedMemoryAwareThreadPoolExecutor и MemoryAwareThreadPoolExecutor в netty

или я должен пойти с

// OrderedMemoryAwareThreadPoolExecutor impl 
    OrderedMemoryAwareThreadPoolExecutor pipelineExecutor = new OrderedMemoryAwareThreadPoolExecutor(
      200, 1048576, 1073741824, 100, TimeUnit.MILLISECONDS, 
      new NioDataSizeEstimator(), new NioThreadFactory("NioPipeline")); 

или

ThreadPoolExecutor pool = new MemoryAwareThreadPoolExecutor(
    16, 65536, 1048576, 30, TimeUnit.SECONDS, 
    new MyObjectSizeEstimator(), 
    Executors.defaultThreadFactory()); 

Не уверен, что разница между ними.

Любая помощь будет оценена по достоинству.

ответ

1

Я думаю, что это довольно ясно началось в javadocs. OrderedMemoryAwareThreadPoolExecutor гарантирует, что события выполняются в «порядке» для канала, а MemoryAwareThreadPoolExecutor - нет.

Смежные вопросы