1.产生线程安全的问题的原因
当多条语句操作同一线程的共享数据时,一个线程对多条语句值执行了一部分,还没执行完,另一个线程参与进来执行,导致共享数据时错误的
2.解决办法
对多条操作共享数据的语句,执行完毕,才能放弃cpu的执行权,需要通过锁对象来完成
3.锁对象的原理
持有锁对象线程可以在同步中执行,没有锁的线程及时获取cpu的执行权,也进步去,因为没有锁
4.同步的前提
必须有两个或两个以上的线程
必须是多个线程使用同一个锁
5.使用锁的好处和坏处
好处:解决了线程安全问题
坏处:每个线程都需要判断锁,比较耗费资源
6.同步的分类
同步代码块 synchronized (任意对象){需要被同步的代码}
同步函数 public synchronized void method (){需要被同步的代码}锁对象是this
静态同步代码块或函数 public synchronized void method (){需要被同步的代码}锁对象是类名.class
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦