任何人都可以用示例解释ConcurrentLinkedList的使用吗?

时间:2017-02-27 21:02:21

标签: multithreading

1.如果我们有两个使用ConcurrentLinkedQueue的线程,其中一个线程将数据插入列表,另一个线程同时访问数据。

事件序列的示例如下所示。

Eg1

Puts1   
consume1  
Puts2    
consumes
Puts3
Consume3

Eg2

puts1
puts2
puts3
consume1
consume2
consume3 

2.两个线程之间的操作应该同步吗?为什么呢?

1 个答案:

答案 0 :(得分:0)

ConcurrentLinkedList是"线程安全"。这意味着,当您从不同的线程调用其方法时,该类的任何给定实例都不会做任何令人惊讶的事情。

意味着当您有多个线程同时使用同一个列表对象时,您的程序将执行您期望的操作。

线程安全是不可编写的:也就是说,完全用线程安全的类构建程序不会使程序本身是线程安全的。如果程序的各种线程彼此协作,并且不会相互干扰,则程序只是线程安全的。