java中哪些类是线程安全的

推荐 生活 2019-06-20 01:06:47 288

本文收集整理关于java中哪些类是线程安全的的相关议题,使用内容导航快速到达。

内容导航:

  • Q1:java 1.5中线程安全的集合性质的类都有哪些?不安全的呢? 比如array,list,vector,map一类的,具体名字
  • Q2:Java中的类如何保证线程安全
  • Q3:java arraylist类为什么不是线程安全的?
  • Q4:java并发,如何加锁,哪些类是线程安全的
  • Q1:java 1.5中线程安全的集合性质的类都有哪些?不安全的呢? 比如array,list,vector,map一类的,具体名字

    ArrayList和HashMap是异步的,
    Vector和HashTable是同步的。
    List本身是一个接口,有一个类叫Vector,它实现了List,并且这个Vector是线程同步的。 在实际运用中,至少我没看见谁直接用List来装东西,最多会是这样:
    List list = new ArrayList();
    List list = new Vector();

    Q2:Java中的类如何保证线程安全

    java中,线程安全的解决方法或过程:
    1.如果对象是immutable,则是线程安全的,例如:String,可以放心使用。
    2. 如果对象是线程安全的,则放心使用。
    3.有条件线程安全,对于Vector和Hashtable一般情况下是线程安全的,但是对于某些特殊情况,需要通过额外的synchronized保证线程安全。
    4.使用synchronized关键字。

    Q3:java arraylist类为什么不是线程安全的?

    List 接口下有 ArrayList 和Vector ArrayList不是现成安全的,而Vector是现成安全的。 为什么呢?很简单,打开源码看看 同样的实现Vector的方法前加了 synchronized 关键字 那你说为什么? 人家就是这样子写的

    Q4:java并发,如何加锁,哪些类是线程安全的

    线程安全是指要控制多个线程对某个资源的有序访问或修改,而在这些线程之间没有产生冲突。
    在Java里,线程安全一般体现在两个方面:
    1、多个thread对同一个java实例的访问(read和modify)不会相互干扰,它主要体现在关键字synchronized。如ArrayList和Vector,HashMap和Hashtable(后者每个方法前都有synchronized关键字)。如果你在interator一个List对象时,其它线程remove一个element,问题就出现了。
    2、每个线程都有自己的字段,而不会在多个线程之间共享。它主要体现在java.lang.ThreadLocal类,而没有Java关键字支持,如像static、transient那样。wwW.YIjItaO.c.OM

    相关文章
    线程安全和线程不安全2019-01-20
    哪些类是线程安全的2019-07-29
    线程安全的单例模式2019-09-08
    java中实现多线程的两种方法2019-02-18
    cpu怎么选择核心和线程2019-02-23
    多线程有几种实现方法2019-02-28
    如何保证线程顺序执行2019-03-18
    一个线程可以包含多个进程吗2019-10-03
    莫斯科和圣彼得堡安全吗2018-09-01
    去巴基斯坦旅游安全吗2018-09-08