日期:2014-05-20  浏览次数:20698 次

队列管理相关
想在遇到一个问题,一直没有搞明白。

定义一个全局变量。public static LinkedList<String> WAITQUEUE = new LinkedList<String>();
每当有访客访问时,就执行WAITQUEUE.offer(),把访客加入其中,
我需要用到此访客的时候,就从WAITQUEUE中取出来。
(全部通过Servlet形式访问)
问题是:如果同时增加多个访客和同时取出多个访客,会不会出现问题??

------解决方案--------------------
会,这个类不是线程安全的。
------解决方案--------------------
Collections.synchronizedList
------解决方案--------------------
Collections.synchronizedList也不行的。
楼主的意思是,一个请求里面有多个访客进、出是吧?
这样只好专门写一个synchronized的方法来读写队列了,方法的参数和返回值是访客数组才行。