1

我有一个服务器,它根据各种客户端的人工时间戳接收来自不同客户端的请求。使用以下函数生成每个客户端的时间戳:

public synchronized static long timestamp()
{
    ts = ts+1;
    return ts;
}

该函数存在于本地的每个客户端中,并在向服务器发送消息时调用。服务器有一个请求队列,基本上是一个ArrayBlockingQueue。它保存从每个客户端接收到的请求。

客户端发送其ID和更新的时间戳 (ts)。有什么方法可以根据客户端发送的时间戳在服务器端的队列中排序请求?

任何帮助将不胜感激。谢谢。

4

1 回答 1

0

我不明白你为什么使用队列。队列是一种先进先出结构,不需排序。您应该坚持使用队列并希望请求以正确的顺序存储或使用不同的数据结构。

怎么用List<Object> objList = Collections.synchronizedList(new ArrayList<Object>());?这个结构很容易排序!

于 2014-04-22T11:28:32.140 回答