java线程同步

如果我们要写一个程序支持多人同时进行访问,那么线程安全和线程同步是一件非常重要的事情。举个例子如果酒店在预定软件上提供了各种房型信息,每个用户都可以进行预订,为了避免同一个房间被多个人预定,一个已经被预定的房间再次被预定这样的问题,我们需要对每个人的预定进行规范。线程同步就是对线程的在运行时的行为进行规范,当一个线程正在访问堆内存里的数据时,我们必须确保在同步代码块里的代码被完整的运行不会被其他线程打断。在java中可以通过使用Sychronized关键字来同步代码块或者同步某一个方法,但是在使用中我们需要确保每个被同步的线程被同一个监视器所监视,就好比说如果我们要规范考试时学生不作弊的行为,我们需要这些学生有一个共同的监考老师,如果每个学生自己监视自己那么时无法防止作弊行为的发生。另一种方法是通过lock对象来进行上锁和解锁。下面是通过一个抢票的例子运用lock对象来同步代码块的视频。

Screen Recording 2021-07-02 at 1.29.00 PM

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值