美文网首页软件工程师成长日记
什么是线程安全?如何保证线程安全?

什么是线程安全?如何保证线程安全?

作者: 麦克劳林 | 来源:发表于2018-04-02 11:13 被阅读8次
  • 线程安全:
    线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。

  • 如何保证呢:
    1、使用线程安全的类;
    2、使用synchronized同步代码块,或者用Lock锁;

      > 由于线程安全问题,使用synchronized同步代码块
        原理:当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。
        另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。
    

3、多线程并发情况下,线程共享的变量改为方法局部级变量;

参考学习:线程安全和线程同步Synchronized

相关文章

  • 锁机制

    一、说说线程安全问题,什么是线程安全,如何保证线程安全 http://www.jasongj.com/java/t...

  • 如何保证集合是线程安全的?ConcurrentHashMap如何

    问题: 如何保证集合是线程安全的? ConcurrentHashMap如何实现高效的线程安全? 知识点: 为什么需...

  • Java多线程

    目录 什么是多线程?引入多线程的意义何在? 并行和并发 线程安全 线程状态 如何保证线程安全? 创建线程的三种方法...

  • 什么是线程安全?如何保证线程安全?

    线程安全:线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问...

  • 最新蚂蚁金服Java后端面试题,双十一也要加油呀,附面试学习资料

    一. 如何保证集合是线程安全的? ConcurrentHashMap 如何实现高效的线程安全? 典型回答: Jav...

  • 线程安全的NSMutableDictionary

    NSDictionary是线程安全的,NSMutableDictionary是线程不安全的。利用锁来保证线程的安全...

  • 2021-08-20

    用什么Map可以保证线程安全,为什么?ConcurrentHashMap为什么能保证线程安全?1.7和1.8原理有...

  • iOS多线程锁的分析

    锁的目的保证线程安全,那么什么是$\color{red}{线程安全}$? 当一个线程访问数据的时候,其他的线程不能...

  • 58(5.3)

    53分钟。 线程和进程区别 Java的线程安全 什么是线程安全,如何保障。哪些变量是线程安全。 Java IO 分...

  • InnoDB是怎样支持高并发的?

    世界是由矛盾组成的,并发的矛盾是什么?线程安全和线程效率,要保证线程安全,就得保证秩序(在处理临界资源的时候),所...

网友评论

    本文标题:什么是线程安全?如何保证线程安全?

    本文链接:https://www.haomeiwen.com/subject/dvuthftx.html