如何利用同步代码块解决数据安全问题?

同步代码块是指用“ {}”括起来的一段代码,根据其位置和声明可以分为普通代码块,构造块,静态块和同步代码块。如果在代码块之前添加synced关键字,则代码块将称为同步代码块。那么如何利用同步代码块解决数据安全问题?同步执行中的线程将不会释放锁,直到执行完成为止,同步之外的线程也不会锁定。同时确保同步期间只有一个线程可以执行共享数据,从而确保安全性;程序经常判断锁,获取锁,释放锁,这样就会降低程序的效率。

如何利用同步代码块解决数据安全问题?_业界动态_行业云

 一、同步代码块

synchronized关键字可以用于方法中的某个区块中,表示只对这个区块这个区块的资源实现互斥访问:卖票案例出现了线程安全问题;卖出了不存在的票和重复的票;解决线程安全问题的一种方案:使用同步代码块格式:

synchronized(同步锁){

需要同步操作的代码

}

注意事项:

1.通过代码块中的锁对象,可以使用任意的对象;

2.但是必须保证多个线程使用的锁对象是同一个;

3.锁对象作用:把同步代码块锁住,只让一个线程在同步代码块中执行。

如何利用同步代码块解决数据安全问题?_业界动态_行业云

测试类:

如何利用同步代码块解决数据安全问题?_业界动态_行业云

 二、同步技术的原理

使用了一个锁对象,这个锁对象叫同步锁,也叫对象锁,也叫对象监视器3个线程一起抢夺cpu的执行权,谁抢到了谁执行run方法进行卖票。

t0抢到了cpu的执行权,执行run方法,遇到synchronized代码块;

这时t0会检查synchronized代码块是否有锁对象发现有,就会获取到锁对象,进入到同步中执行t1抢到了cpu的执行权,执行run方法,遇到synchronized代码块;

这时t1会检查synchronized代码块是否有锁对象发现没有,t1就进入到阻塞状态,会一直等待t0线程归还锁对象;

一直到t0线程执行完同步中的代码,会把锁对象归还给同步代码块,t1才能获取到锁对象进入到同步中执行出现线程安全问题,会出现不存在的数据以及重复的数据,解决线程安全问题的其中一种方案使用同步代码块。

以上就是关于如何利用同步代码块解决数据安全问题的全部内容介绍,想了解更多关于数据安全的问题,请继续关注。

9
1
0
68

相关资讯

  1. 1、《扶摇》之后,杨幂首部民国剧来了,搭档“胡歌前男友”1708
  2. 2、最后的荣光与算计:《如懿传》高贵妃临终七次呼应先皇后3006
  3. 3、又一潜规则寒心案例,长相甜美可爱比过杨紫的童星,却选择自杀!4611
  4. 4、晴雅集下线,玉楼春延期,于正郭敬明的好日子到头了2049
  5. 5、《国家记忆》讲述战争中的人性创同题材新水准4230
  6. 6、周星驰电影《功夫》里的那个小女孩,现25岁长成啥样了?3157
  7. 7、黄景瑜倪妮合作新剧,两位都荷尔蒙炸裂,不知道会擦出怎样的火花1989
  8. 8、黄晓明很旺人?被他拒演的角色都火了2270
  9. 9、陪伴你长大的古装剧,全部看过的我叫你大神,网友:我们的青春啊813
  10. 10、《魔警》张家辉遭杨受成投诉:只给12天档期4320
全部评论(0)
我也有话说
0
收藏
点赞
顶部