您现在的位置是:首页 > 文章详情

回顾以前的线程安全的类

日期:2018-04-04点击:499

回顾前面的线程安全问题(看看源码)

  StringBuffer/StringBuilder

  Vector

  Hashtable

  以及Collections中的让集合同步的方法

示例代码如下:

 1 package cn.itcast_12;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Collections;
 5 import java.util.Hashtable;
 6 import java.util.List;
 7 import java.util.Vector;
 8 
 9 public class ThreadDemo {
10     public static void main(String[] args) {
11         // 线程安全的类
12         StringBuffer sb = new StringBuffer(); // 几乎所有的方法都加了synchronized,所以线程安全,但效率低
13         Vector<String> v = new Vector<String>(); // 几乎所有的方法都加了synchronized,所以线程安全,但效率低
14         Hashtable<String, String> h = new Hashtable<String, String>(); // 几乎所有的方法都加了synchronized,所以线程安全,但效率低15 
16         // Vector是线程安全的时候才会去考虑使用的,但是呢,即使要安全,也不用Vector。
17         // 为什么呢?那么到底用谁呢?
18         // Collections工具类的让集合同步的方法,以List举例:
19         // public static <T> List<T> synchronizedList(List<T> list)
20         List<String> list1 = new ArrayList<String>(); // 线程不安全的List
21         List<String> list2 = Collections.synchronizedList(new ArrayList<String>()); // 线程安全的List
22         // 通过Collections类的让集合同步的方法,就把线程不安全的List变成线程安全的List了,所以我们不用Vector!
23     }
24 }

 

我的GitHub地址: https://github.com/heizemingjun
我的博客园地址: http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
原文链接:https://yq.aliyun.com/articles/607555
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章