在异步多线程环境中维护时间顺序

时间:2018-05-09 09:39:15

标签: java multithreading asynchronous design-patterns

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

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

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

有没有人知道这个问题的模式?

0 个答案:

没有答案