欢迎光临散文网 会员登陆 & 注册

Java学习笔记:线程,并发,线程同步,同步锁,死锁【诗书画唱】

2020-07-24 16:32 作者:诗书画唱  | 我要投稿

并发介绍:

同一个对象多个线程同时进行操作,就会出现线程不安全,并发出现的三个要素

1.同一个对象

2.多个用户

3.同时操作



当同一个对象被多个用户同时操作时,就会出现线程并发问题,如何解决?

可以使用线程同步




线程同步:

线程同步是java虚拟机处理并发的一种机制,多个需要访问同一个对象的线程会被放入到线程池里,形成线程队列,有当前访问该对象的线程形成一把锁,当该线程访问完对象后,才会解除锁,然后才可以被其他线程访问




同步锁使用的两种情况

:

1.同步锁可以修饰块,将一块代码修饰为同步的

2.同步锁可以修饰方法,将整个方法修饰为同步的



锁的注意事项

:

1.锁的位置,如果太大会造成资源浪费,如果太小会造成锁不住内容

2.锁,方法锁默认使用锁的内容是this,要根据当时的情况去选择锁,不能够使用进行变化的值,要看同步块改变的内容去选择正确的锁




死锁:


某一个同步块中同J时拥有“两个或者以上对象的锁”,就可能发生“死锁的问题”




如何避免死锁:

进行锁内容的时候不要在一个同步锁中添加其他锁

Java学习笔记:线程,并发,线程同步,同步锁,死锁【诗书画唱】的评论 (共 条)

分享到微博请遵守国家法律