91名师指路-头部
91名师指路

跟着波波老师学多线程高并发(六)线程安全

由于某些原因,现在不支持支付宝支付,如需要购买源码请加博主微信进行购买,微信号:13248254750

什么是线程安全?

答:多个线程同时共享一个全局变量,在进行写操作的时候,可能会导致数据错误,这种现象叫做线程安全。在做读操作的时候不会产生线程安全问题,多个线程共享一个局部变量的时候也不会产生线程安全问题。


如何解决线程安全问题?

(1)使用同步代码块:synchronize或lock


使用synchronize的条件

(1)必须要有两个以上的线程。需要发生同步。

(2)多个线程进行同步,必须用同一把锁。

(3)保证同时只有一个线程在执行。


同步原理

(1)有一个线程已经拿到锁了,其他线程有cpu执行权,一直排队,等待拿到锁的线程释放锁。

(2)拿到锁的线程释放锁后,其他线程开始获取锁,进入同步代码中去。

(3)锁的资源竞争。


锁在什么时候释放?

代码执行完成或代码抛出异常。


同步的缺点

(1)代码执行效率很低。

(2)产生死锁问题。


synchronize和lock的区别:synchronize是自动锁(开启锁,释放锁),lock是手动锁。


2019-11-19 19:35:03     阅读(813)

名师出品,必属精品    https://www.91mszl.com

联系博主    
用户登录遮罩层
x

账号登录

91名师指路-底部