15037120869

西安兄弟连IT教育学校

Java学习过程中总会遇到的是线程问题

来源:西安兄弟连IT教育学校 发布时间:2018/3/7 13:19:49

在Java学习过程中总会遇到的是线程问题,Java学习线程安全问题其实就是并发的正确性问题,一个线程安全的行为,既不需要额外的同步和协调,也不用考虑在runtime中的调度和交替执行,一定能返回预期的结果。  

五种线程安全场景  

西安兄弟连

1.不变性  

较简单较纯粹的场景就是不变性,一个不可变的对象一定是线程安全的,如final。  

2.线程安全  

线程安全是不切实际的,即使是线程安全的Vector容器,也只是在方法中用了synchronized修饰,方法调用时还是需要额外同步,否则,在多线程同时remove,仍然会有Index边界溢出的错误。  

3.相对线程安全  

一般意义上的线程安全就是相对线程安全,单独操作是线程安全的,但是在特定情况下,还需要在调用时增加额外的同步手段。Java提供的线程安全如Vector、HashTabe、Collections.synchronizedCollection()等,都是相对线程安全。  

4.线程兼容  

一般意义上的不是线程安全其实是线程兼容,指的是本身并不线程安全,可以在调用时增加同步手段,实现线程安全,常见的ArrayList和HashMap都是线程安全的。  

5.线程对立  

一些极端情况下,无论采用什么同步措施,都不能实现线程安全,就是线程对立,如Thread的suspend和resume,不能并行调用,很容易出现死锁。

领取试听课
每天限量名额,先到先得
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
  • 详情请进入 西安兄弟连IT教育学...

关于我们 | 招生信息 | 新闻中心 | 学校动态

版权所有:搜学搜课(www.soxsok.com)