同步容器

同步容器

同步容器 - Vector

同步容器

Vector 不是线程安全的

同步容器
执行结果:
报错,原因:当一个线程remove(i)时,同时另一个线程get(j), i=j,此时就回报错
同步容器

Vector 遍历

同步容器

同步容器或者普通容器中,test1(),test2(),方法都会抛异常,因为在遍历时进行了移除操作,如果要移除Vector元素,可以先做标识,遍历完之后再进行移除,也推荐直接用for循环来进行包含增删操作的遍历。

Stack

Stack 继承自Vector,与Vector类似

同步容器 - HashTable

同步容器
运行结果:5000

Collections.synchronizedList

同步容器
运行结果:5000

Collections.synchronizedSet

同步容器

运行结果:5000

Collections.synchronizedMap

同步容器

运行结果:5000

总结

同步容器的方法主要是采用synchronized进行同步,这会影响性能,同时同步容器不一定能真正做到线程安全,既然同步容器性能不是很好,又不能做到线程安全,有没有可以取代的容器??? --有-----》并发容器

相关文章: