首页 > 解决方案 > 在异步多线程环境中维护时间顺序

问题描述

我的代码中有来自交易所的 1000 种不同股票的股票价格流。由于更新数量非常多,我需要使用多线程环境来处理价格更新。

在一个简单的世界中,我将有一个作业队列和一组处理队列的工作线程。然而,在现实世界中,我不能这样做,因为我需要维护个股更新的时间顺序。

一个简单的解决方案是使用散列算法,每次看到更新时将特定股票分配给同一线程。不幸的是,如果我这样做意味着我需要了解我的每只股票的更新率,以确保我的线程保持忙碌(每只股票的更新率不是恒定的)。如果我不这样做,某些线程可能会饱和,而其他线程则处于空闲状态。

有谁知道迎合这个问题的模式?

标签: javamultithreadingasynchronousdesign-patterns

解决方案


推荐阅读