原先在java编程中,Queue的实现都是用LinkedList
但正如jdk中所说的那样:
注意,此实现不是同步的。如果多个线程同时访问一个链接列表,而其中至少一个线程从结构上修改了该列表,则它必须 保持外部同步。(结构修改指添加或删除一个或多个元素的任何操作;仅设置元素的值不是结构修改。)这一般通过对自然封装该列表的对象进行同步操作来完成
LinkeList显示源码:http://blog.csdn.net/lengyuhong/archive/2010/10/27/5969325.aspx
所以为方便起见,可以直接写一个线程安全的LinkedList实现的Queue类,这段程序原先是由我朋友夏裔编写,我只做了一些小的改动,特此说明
源程序: