线程的同步

** 多个线程同时运行,线程的调度是由操作系统决定的,程序本身无法决定。**
图片说明
多次运行上述代码你会发现结果不同。
图片说明

一个相加赋值的操作本身是由三部分组成的,加载,相加,赋值,如果当thread1加载进数据后就被暂停了,thread2获得了cpu的执行权,执行加载也会将未被修改的加载进去,在进行之后的操作后,就能得到两边的结果都是101。同时也说明相加赋值的操作不是原子性操作。
为了保证一系列操作作为原子操作,必须保证一系列执行过程中,不被其他进程所抢占。我们可以对代码进行加锁和解锁。
图片说明
图片说明
图片说明
synchronizatied代码块无法并发执行,加锁解锁需要消耗时间,所以性能比较低。
图片说明
图片说明
图片说明
图片说明

图片说明

图片说明
图片说明
图片说明
图片说明
图片说明
图片说明
图片说明

死锁

图片说明
图片说明
图片说明

图片说明

图片说明
图片说明

图片说明

wait和notify

图片说明
因为我们使用的是this对象作为我们的锁对象,所以使用this来调用wait方法
图片说明

图片说明
图片说明

全部评论

相关推荐

03-08 18:11
门头沟学院 Java
Java抽象小篮子:海投就完事了,简历没什么问题,最大问题是学历
点赞 评论 收藏
分享
03-19 18:27
已编辑
门头沟学院 C++
26学院本太难了,很多公司机筛就给我刷了。机会都难拿到如果是简历存在问题也欢迎拷打————————————————————分割线——————————————————————2026.3.4更新:发完贴之后,时不时投递又收到了不少的笔试/面试邀请。主要是之前投递简历出去之后基本上都是沉默状态,年后好转了不少timeline:2026.01.21 文远知行笔试,半年多没刷算法题 ->挂 (后续HR说春招可以重新安排笔试)2026.2.4     小鹏汇天 技术一面,第二周收到结果 ->挂2026.2.12   大众Cariad代招 技术二面 ->Offer2026.2.28   多益网络技术面试,由于风评太差,一直在犹豫要不要接面试 ->推迟-----------分割线-----------2026.3 月前的某一天,临时去电网报名了二批计算机岗位的笔试2026.3.6 从上家公司实习离职,氛围最好的一家公司,leader 说可以帮忙转正,但是流程太长,而且我们部门据说只有一个 hc,更想要研究生,我很有可能是会被签外包公司在这里干活,就离职了。2026.3.9 入职新公司,大众Cariad 以外部公司的身份进组,项目组签了三年,后续三年应该都可以在这里呆,不知道有没有希望原地跳槽。2026.3.10 电网考试居然说我通过资格审查了,短信约我去参加资格审查,请假一天,买了 12 号晚上的机票回成都2026.3.15 参加国家电网三新计算机类的笔试2026.3.17 电网出成绩了,感觉很低。觉得已经🈚️了2026.3.18 收到电网面试通知,通知 3.22-3.25 这个时间去面试,我的岗位只招 1 个人。据说面试只有 2-3 人,不知道能不能成功
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务