如果一个类被设计为允许多线程正确访问,我们就说这个类就是“线程安全”的(thread-safe),上面的Counter类就是线程安全的。Java标准库的java.lang.StringBuffer也是线程安全的。


还有一些不变类,例如StringIntegerLocalDate,它们的所有成员变量都是final,多线程同时访问时只能读不能写,这些不变类也是线程安全的。


最后,类似Math这些只提供静态方法,没有成员变量的类,也是线程安全的。


除了上述几种少数情况,大部分类,例如ArrayList,都是非线程安全的类,我们不能在多线程中修改它们。但是,如果所有线程都只读取,不写入,那么ArrayList是可以安全地在线程间共享的。

java中哪些类是线程安全的相关推荐

  1. java中那些类是线程安全的?

    Java中各种集合(字符串类)的线程安全性!!! 一.概念: 线程安全:就是当多线程访问时,采用了加锁的机制:即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能对其访问,直到该线程读 ...

  2. 详解java中Thread类,线程和进程的基本区别,多线程的好处,线程的五个生命周期,主线程和IDEA创建的Monitor Ctrl-Break守护线程;优雅地终止线程。死锁的产生

    线程:CPU调度的最小单位:线程共享堆内存和方法区,但各自享有栈空间.进程:CPU分配资源的最小单位. 为什么需要多线程:①避免其中一个模块阻塞造成系统假死:②程序异步处理(交替执行),提高程序执行效 ...

  3. 详解Java多线程编程中LockSupport类的线程阻塞用法

    转载自  详解Java多线程编程中LockSupport类的线程阻塞用法 LockSupport类是Java6(JSR166-JUC)引入的一个类,提供了基本的线程同步原语.LockSupport实际 ...

  4. Java中的进程与线程

    2019独角兽企业重金招聘Python工程师标准>>> Java中的进程与线程 概念 进程与线程,本质意义上说, 是操作系统的调度单位,可以看成是一种操作系统 "资源&qu ...

  5. JAVA 中无锁的线程安全整数 AtomicInteger介绍和使用

    转载自 http://blog.csdn.net/bigtree_3721/article/details/51296064 JAVA 中无锁的线程安全整数 AtomicInteger,一个提供原子操 ...

  6. java中 如果类c_Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是( )。_学小易找答案...

    [单选题]社会意识是() [判断题]刘易斯认为,在发展中国家,经济发展应当追求最高精尖的技术.( ) [单选题]财务杠杆反映的是 [判断题]是否承认社会历史的规律性,是唯物史观和唯心史观的根本对立. ...

  7. java中properties作用,java中Properties类的使用

    java中Properties类的使用 在java.util 包下面有一个类 Properties,该类主要用于读取以项目的配置文件(以.properties结尾的文件和xml文件). Propert ...

  8. 在java中下列描述错误的是_在 JAVA 中 , 关于类的方法 , 下列描述错误的是 ()._学小易找答案...

    [多选题]价值的特性是 [简答题]输入任一字符串,统计其中数字,字母及其它字符个数 .(25分) [填空题]1.产品整体包括哪五个基本层次 2核心层次产品最基本的层次,是产品的_____ [单选题]纸 ...

  9. Java中Properties类的操作

    Java中Properties类的操作 ============================================= com.gordon.constant Constant.java: ...

最新文章

  1. 与技术无关的书单--你可以笑着说有些是“精神鸦片”
  2. 创建文档库时指定文件夹(路径)
  3. java8 新特性 lambda过滤
  4. MySQL学习第三章练习题
  5. 微信小程序实现轨迹回放
  6. Numpy库的学习(三)
  7. Spring Boot整合Swagger3注解@ApiImplicitParam的allowMultiple属性
  8. 测试员,你该如何面对自己30岁后的下坡路?
  9. 切换不了摄像头 高拍仪_高拍仪常见问题解答
  10. exe应用程序无法启动,因为应用程序的并行配置不正确
  11. AquaCrop_原理学习笔记06:土壤水分运动
  12. OverFeat 个人总结
  13. GIS 如何求多边形的内接最大圆
  14. 校园网WiFi免认证软件监控
  15. 走出996困境:产权、通证与生产力 |链捕手
  16. 8086-逻辑运算指令
  17. python3 jason 、pickle 和cpickle
  18. I2C总线时序以及ACK和NACK(NAK),SCL被从机拉低?
  19. 美国-机械故障预防技术学会MFPT
  20. Webstorm干货(开发效率快到飞起!!!)

热门文章

  1. 网站架构模式:前后端分离与前后端不分离
  2. 架构设计:系统存储(20)——图片服务器:需求和技术选型(2)
  3. 虚拟机上的ubuntu安装RT系统+安装IGH
  4. 戴尔服务器r730系统,戴尔dell poweredge r730服务器系统安装配置详解教程
  5. SAP 会计科目表 Chart of Accounts
  6. Ubuntu20.04 wifi连不上或频繁掉线解决办法
  7. 51单片机篮球记分牌设计
  8. 深圳大学计算机双学位绩点规定,以深圳大学小伙伴为例 为你展开绩点计算的正确打开方式...
  9. 深入理解AMQP协议
  10. java中的时间戳sssss_Golang中使用Date进行日期格式化(沿用Java风格)