寻找ExecutorService
类似的ThreadPoolExecutor
或ForkJoinPool
以最小的延迟将任务添加到工作队列并将它们出列以执行。
非常希望它能够感知 CPU 缓存并具有可调整的退避策略和线程工厂。
或者至少是烹饪它的部分的最佳例子。
寻找ExecutorService
类似的ThreadPoolExecutor
或ForkJoinPool
以最小的延迟将任务添加到工作队列并将它们出列以执行。
非常希望它能够感知 CPU 缓存并具有可调整的退避策略和线程工厂。
或者至少是烹饪它的部分的最佳例子。
将任务添加到工作队列并将它们出列执行的最小延迟。
这些库都具有相同的延迟,这在很大程度上取决于您拥有的硬件和您拥有的操作系统(就像线程调度一样)
没有影响延迟的特定选项。
其他选项包括使用;
您可能感兴趣的几个库是 Disruptor 库,它是一个支持忙等待的超低延迟环形缓冲区,以及我的一个库 Java Chronicle,它几乎免费为您提供所有消息/任务的持久性和您的消费者可以比您的生产者落后任何数量,几乎没有影响(例如,落后很多 GB)
CPU 缓存感知
这两个库都通过最小化产生的垃圾量来提高缓存利用率。ExecutorService 会产生一些垃圾,但迄今为止最大的延迟是唤醒消费者线程。