令人沮丧的是,HawtDispatch的网站将其描述为"线程池和NIO事件通知框架API".
我们先来看一下'线程池'部分.Java提供的大多数Executor也基本上都是线程池.HawtDispatch有何不同?
它显然也是一个"NIO事件通知框架API".我假设它是顶层NIO上的一个薄层,它接收传入数据并传递给它的"线程池"概念,并在线程池调度程序找到时间时将其传递给使用者.正确?(欢迎对NIO进行任何改进).有没有人对netty和HD做过任何性能分析?
Hir*_*ino 17
HawtDispatch被设计为单个系统范围的固定大小的线程池.它提供了两种Java Executors实现:
Executors.newFixedThreadPool(n)
执行程序获得相同的效果)Executors.newSingleThreadExecutor()
执行程序可以获得相同的效果)与java executor模型不同,所有全局和串行调度队列共享一个固定大小的线程池.您可以使用数千个串行调度队列而不增加线程数.串行调度队列可以像Erlang邮箱一样用于驱动反应式actor风格的应用程序.
由于HawtDispatch使用固定大小的线程池来处理所有全局和串行队列执行,因此它执行的所有Runnable任务必须是非阻塞的.在某种程度上,这类似于NodeJS架构,除了它使用多个线程而不是一个线程.
与Netty相比,HawtDispatch不是实际处理套接字数据的框架.它没有提供编码/解码,缓冲和处理套接字数据的框架.它只是在非阻塞套接字上读取或写入数据时执行用户配置的Runnable.然后由应用程序来实际读取/写入套接字数据.
归档时间: |
|
查看次数: |
2770 次 |
最近记录: |