Java中线程安全

本文介绍了Java中线程安全的概念,包括线程间的同步、线程死锁、Java内存模型以及线程安全的解决方案。重点讲解了`synchronized`关键字和`lock`,并讨论了线程死锁和Java内存模型对线程安全的影响。
摘要由CSDN通过智能技术生成

今天跟大家分享下Java中线程安全的知识。

前言

Java内存模型,如下图:
在这里插入图片描述
线程不安全产生的主要原因:因为多个线程共享一个内存,所以当多个线程共享一个全局变量的时候,可能会受到其他干扰。

如线程更新会先在本地内存更新,然后再同步到共享内存中,当多个线程同时读写的时候,数据会出现错误,就产生了线程不安全的现象。

注意:如果线程对自己的局部变量进行修改是不会受影响,就是没有线程安全的问题。

1 线程间的同步

针对上面提到的问题,因此我没要对对象(上面提到的全局变量)加锁!即保证一次只有一个线程对对象进行操作。

本次主要为大家简单介绍两种锁:synchronized(自动锁)和lock(JDK1.5并发包,手动锁,即需要手动进行加锁以及解锁的操作)。

  • 1.1 简介:
    使用 synchronized(obj) 对象锁,表示一次只有一
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祁娥安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值