线程的同步
【摘要】
线程同步
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)