知识大全 Java容器类的线程安全
Posted 知
篇首语:少年意气强不羁,虎胁插翼白日飞。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java容器类的线程安全相关的知识,希望对你有一定的参考价值。
Java容器类的线程安全 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java容器类的关系图
Collection
├List 接口
│├LinkedList 链表
│├ArrayList 顺序结构动态数组类
│└Vector 向量
│ └Stack 栈
└Set
Map
├HashTable
├HashMap
└WeakHashMap List接口
线程安全的和线程不安全的
Vector和HashMap是线程安全的
LinkedList ArrayList和HashMap是线程不安全的
由于同步需要花费时间 因此线程安全的执行效率要低于线程不安全的
在多线程操作
案例 多线程操作导致List报NoSuchElementException
java util NoSuchElementException
at java util LinkedList remove(LinkedList java: )
at java util LinkedList removeFirst(LinkedList java: )
at re RegexBuiltins getPattern(RegexBuiltins java: )
解决方法
调用Collections的同步List
List<String> items = Collections synchronizedList(new LinkedList<String>());
public void remove()
if (!items isEmpty())
return items remove( );
设置标志 同步
LinkedList<String> items = new LinkedList<String>();
String flag= abcdef ;
public void remove()
synchronized(flag)
if (!items isEmpty())
return items removeFirst();
cha138/Article/program/Java/hx/201311/27139
相关参考
Java线程安全和非线程安全 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ArrayList和
Java线程安全总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近想将java基础的一些东
java中原子操作是线程安全的论调经常被提到根据定义原子操作是不会被打断地的操作因此被认为是线程安全的实际上有一些原子操作不一定是线程安全的 这个问题出现的原因是尽量减少在代码中同步关键字同
Java理论与实践:描绘线程安全性[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 线程安全
Java理论与实践:描绘线程安全性[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 定义线程
Java系统线程组如何才能安全组建 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 我们在使用Ja
基于Java2运行时安全模型的线程协作 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在Java
JavaSwing开发中的线程安全 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! SwingAP
Java开发中的线程安全选择与Swing 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Swin
Java的线程安全四种方式五个等级[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!