美文网首页
线程安全和非线程安全

线程安全和非线程安全

作者: 骇客与画家 | 来源:发表于2018-01-09 23:19 被阅读0次

二者如何取舍
非线程安全是指多线程操作同一个对象可能会出现问题。而线程安全则是多线程操作同一个对象不会有问题。
线程安全必须要使用很多synchronized关键字来同步控制,所以必然会导致性能的降低。
所以在使用的时候,如果是多个线程操作同一个对象,那么使用线程安全的Vector;否则,就使用效率更高的ArrayList。

非线程安全!=不安全
有人在使用过程中有一个不正确的观点:我的程序是多线程的,不能使用ArrayList要使用Vector,这样才安全。
非线程安全并不是多线程环境下就不能使用。注意我上面有说到:多线程操作同一个对象。注意是同一个对象。比如最上面那个模拟,就是在主线程中new的一个ArrayList然后多个线程操作同一个ArrayList对象。
如果是每个线程中new一个ArrayList,而这个ArrayList只在这一个线程中使用,那么肯定是没问题的。

线程安全的实现
线程安全是通过线程同步控制来实现的,也就是synchronized关键字。

相关文章

  • ConcurrentHashMap浅析

    简述 ConcurrentHashMap是针对HashMap非线程安全和HashTable低性能线程安全。它是线程...

  • 线程安全和非线程安全

    二者如何取舍非线程安全是指多线程操作同一个对象可能会出现问题。而线程安全则是多线程操作同一个对象不会有问题。线程安...

  • iOS多线程—各种线程锁的简单介绍

    线程安全是怎么产生的 比如线程内操作了一个线程外的非线程安全变量,就要考虑线程的安全和同步。 - (void)ge...

  • String、StringBuffer、StringBuilde

    String 是字符串常量(线程安全);StringBuffer(线程安全), StringBuilder(非线程...

  • 如何判断PHP 是ts还是nts版的?

    线程安全和非线程安全的区别? TS指Thread Safety,即线程安全,一般在IIS以ISAPI方式加载的时候...

  • iOS多线程-各种线程锁的简单介绍

    线程安全是怎么产生的 常见比如线程内操作了一个线程外的非线程安全变量,这个时候一定要考虑线程安全和同步。 - (v...

  • 2.1synchronized同步方法

    “线程安全”与“非线程安全”相关的技术点,它们是学习多线程技术时一定会遇到的经典问题。“非线程安全”其实会在多个线...

  • JAVA 线程安全

    线程安全定义 一个类在可以被多个线程安全调用时就是线程安全的。 线程安全分类 线程安全不是一个非真即假的命题,可以...

  • Java线程安全和非线程安全

    转自: http://blog.csdn.net/xiao__gui/article/details/893483...

  • JAVA干货|让我告诉你SimpleDateFormat线程不安

    1.什么是线程不安全? 线程不安全也叫非线程安全,是指多线程执行中,程序的执行结果和预期的结果不符的情况就叫做线程...

网友评论

      本文标题:线程安全和非线程安全

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