Java并发队列(一)

        本文主要介绍Java并发包提供的线程安全队列的相关核心类的用法,包括阻塞先入先出队列,如LinkedBlockQueue和ArrayBlockingQueue,阻塞先入先出双端队列BlockingDeque接口,并发队列ConcurrentLinkedQueue以及写时拷贝列表CopyOnWriteArrayList。

        ArrayList和LinkedList是Java在编程中最常用的两个列表类,其中ArrayList是基于数组实现的,LInkedList是基于链表实现的。不过这两个类都不是线程安全的,所以如果需要多线程中使用这两个类,则需要结合Synchronized关键字或ReentrrantLock可重入锁来加锁实现线程同步。

        为了方便使用,即不需要在应用代码中对这些列表类的每个方法都显式的使用Synchronized关键字进行同步,可以使用集合工具类Collections的SynchronizedList这个同步列表包装类对ArrayList或LInkedList进行包装。

        除此之外,在Java并发包中提供了多个并发列表或者称为并发队列实现,这些并发队列是线程安全的。在多线程编程中,比较常用的包括阻塞、先入先出队列LinkedBlockingQueue和阻塞、先入先出双端队列LinkedBlockingDeque,以及适合与读多写少场景的写时拷贝列表CopyOnWriteArrayList。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值