多线程(六)线程安全

人走茶凉 提交于 2019-11-30 12:22:26

线程安全

  • –在拥有共享数据的多条线程并行执行的程序中, 线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行, 不会出现数据污染等意外的情况

  • –可以选择使用synchronized来保证线程安全

线程安全与不安全的区别

  • –线程安全:

    • –优点: 可靠
    • –缺点:执行速度慢
    • –使用建议:需要线程共享时使用
  • –线程不安全:

    • – 优点: 速度快
    • – 缺点: 可能与预期不符合
    • –使用建议: 在线程内部使用, 无需线程间共享

线程不安全的类

  • Vector是线程安全的, ArrayList, LinkedList 是线程不安全的
    • –Vector中addElement()方法是用synchronized修饰的
    • –ArrayList等中的add是没有用synchronized修饰的
  • Properties是线程安全的,HashSet, TreeSet, HashMap是不安全的
  • StringBuffer是线程安全的, StringBuilder是线程不安全的
  • HashTable是线程安全的, HashMap是线程不安全的
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!