我有一个服务器,它根据客户端的人工时间戳接收来自不同客户端的请求。每个客户端的时间戳是使用以下函数生成的:
public synchronized static long timestamp()
{
ts = ts+1;
return ts;
}
此函数在每个客户端本地存在,并在向服务器发送消息时被调用。服务器有一个请求队列,它基本上是一个ArrayBlockingQueue.。它保存从每个客户端接收的请求。
客户端发送其ID和更新的时间戳(ts)。是否可以根据客户端发送的时间戳在服务器端命令队列中的请求?
任何帮助都将不胜感激。谢谢。
发布于 2014-04-22 03:28:32
我不明白你为什么要用队列。队列是FIFO结构,不需要排序。您应该坚持队列,并希望请求按正确的顺序存储,以便使用不同的数据结构。
使用List<Object> objList = Collections.synchronizedList(new ArrayList<Object>());
怎么样?这个结构可以很容易地分类!
https://stackoverflow.com/questions/19441181
复制