【发布时间】:2021-06-03 02:32:29
【问题描述】:
目前每 0.5 秒发出一次请求,但接收方会在 3 秒后获得更新。在这种情况下,甚至毫秒也很重要。所以问题是哪一种应该是共享来自 httprequest 的数据的最快方式,以便接收者可以在更新完成后立即处理它。
【问题讨论】:
-
“最快的方法”是专门为你的线程模式使用无锁队列——单生产者-单消费者、多生产者-单消费者等。Google Disruptor、JCTools、Real-Logic Agrona。 ..但这大约是数百纳秒和微秒。另一个重要的事情是你应该编写 GC/allocation-free 代码(在应用程序的主/热路径中没有分配新的对象/内存)。如果你使用 Spring、Tomcat、一些 RDBMS 和其他常规 java 应用程序的东西,你只需浪费你的时间寻找“最快的方法”,一个标准的 BlockingQueue 应该是你的完美之选
标签: java multithreading httprequest threadpool