Multithreading 有人能举例说明ConcurrentLinkedList的用法吗?

Multithreading 有人能举例说明ConcurrentLinkedList的用法吗?,multithreading,Multithreading,1.如果我们有两个线程使用ConcurrentLinkedQueue,其中一个线程将数据插入列表,另一个线程同时访问数据 事件序列示例如下所示 Eg1 Eg2 2.两个线程之间的操作是否应同步?为什么?AConcurrentLinkedList是“线程安全的”。这意味着,当您从不同线程调用该类的方法时,该类的任何给定实例都不会做任何令人惊讶的事情 这并不意味着当您有多个线程同时使用同一个列表对象时,您的程序将执行您期望的操作 线程安全是不可组合的:也就是说,完全用线程安全类构建程序不会使程序本身

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

事件序列示例如下所示

Eg1

Eg2


2.两个线程之间的操作是否应同步?为什么?

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

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

线程安全是不可组合的:也就是说,完全用线程安全类构建程序不会使程序本身具有线程安全性。只有当程序的各个线程相互协作且互不干扰时,程序才是线程安全的

Puts1   
consume1  
Puts2    
consumes
Puts3
Consume3
puts1
puts2
puts3
consume1
consume2
consume3