zoukankan      html  css  js  c++  java
  • Java线程安全和非线程安全

    ArrayList和Vector有什么区别?HashMap和HashTable有什么区别?StringBuilder和StringBuffer有什么区别?这些都是Java面试中常见的基础问题。面对这样的问题,回答是:ArrayList是非线程安全的,Vector是线程安全的,LinkedList也是非线程安全的;HashMap是非线程安全的,HashTable是线程安全的;StringBuilder是非线程安全的,StringBuffer是线程安全的。
    非线程安全是指多线程操作同一个对象可能会出现问题。而线程安全则是多线程操作同一个对象不会有问题。
    
    线程安全必须要使用很多synchronized关键字来同步控制,所以必然会导致性能的降低。
    
    所以在使用的时候,如果是多个线程操作同一个对象,那么使用线程安全的Vector;否则,就使用效率更高的ArrayList。
    
    
    线程安全是通过线程同步控制来实现的,也就是synchronized关键字。   
    

      

    参考:https://blog.csdn.net/xiao__gui/article/details/8934832

  • 相关阅读:
    puttytray
    让程序同时输出到文件与屏幕(tee)
    R将文件转化为矩阵
    gnome3下gedit乱码的解决方案
    perl随机打乱数组
    gnome 3.6
    google earth 离线下载地址
    wget 使用技巧
    运行pindel注意事项
    获取当前行号与列号
  • 原文地址:https://www.cnblogs.com/g-sheng/p/8759936.html
Copyright © 2011-2022 走看看