线程的同步

举报
静Yu 发表于 2021/11/18 23:57:00 2021/11/18
【摘要】 线程同步 1.当两个或多个线程共用同一批数据时,可能发生混乱 • 比如,当一个线程需要处理一批账单,如 果另一个线程也要处理相同的账单,可能 会出现混乱的局面 2.这时,需要进行线程同步的处理 3.线程...

线程同步

1.当两个或多个线程共用同一批数据时,可能发生混乱
• 比如,当一个线程需要处理一批账单,如
果另一个线程也要处理相同的账单,可能
会出现混乱的局面
2.这时,需要进行线程同步的处理
3.线程同步的关键字是synchronized
4.一个方法使用关键字synchronized修饰后,如果某个线程获得CPU的使用权去使用该方法,CPU会让它执行完同步方法中的所有任务
5.在这期间,CPU不会把时间片分配给其他也要使用同步方法的线程

在同步方法中使用wait()

1.当一个线程使用的同步方法中用到某个变量,而
此变量又需要其它线程修改后才能符合本线程的
需要,那么可以在同步方法中使用wait()方法
2.使用wait()方法可以使本线程等待,暂时让出CPU
的使用权,并允许其它线程使用这个同步方法

在同步方法中使用notify()和notifyAll()

1.其它线程如果在使用同步方法时不需要等待,那么它使用完这个同步方法后,应当用notifyAll()方法通知所有的由于使用这个同步方法而处于等待的线程结束等待
2.如果使用notify(),是通知处于等待中的线程的某一个结束等待

文章来源: blog.csdn.net,作者:静Yu,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_46285118/article/details/113502053

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。