当前位置: 首页 > news >正文

淘宝网站怎么建设恐怖音乐怎么做的视频网站

淘宝网站怎么建设,恐怖音乐怎么做的视频网站,泉山徐州网站开发,住宅与建设部网站#x1f490;专栏导读 本篇文章收录于多线程#xff0c;也欢迎翻阅博主的其他文章#xff0c;可能也会让你有不一样的收获#x1f604; #x1f341;JavaSE #x1f33a;多线程 #x1f342;数据结构 #x1f490;synchrosized的可重入特性及死锁 可重入特性就是…专栏导读 本篇文章收录于多线程也欢迎翻阅博主的其他文章可能也会让你有不一样的收获 JavaSE 多线程 数据结构 synchrosized的可重入特性及死锁 可重入特性就是当一个线程针对一个对象同时加锁两次不会构成死锁这样的特性称为可重入性 例如下图例子 为了防止上述死锁情况synchrosized就引入了可重入性解决 线程在加锁时在这个锁对象内部它会记录是对哪个线程加了锁当对同一个线程再次进行加锁时就会判断该线程是不是同一个线程并且是否已经持有了锁如果已经有了锁那么也会重复进行加锁不会导致死锁现象 **那么问题就来了如果加两次锁在 }2 时是否应该解锁呢**答案不能释放锁 如果加了n次锁呢该怎么去释放呢 答案在锁对象中不仅会记录对哪个线程加了锁还会有一个计数器记录加锁的次数当每次执行完一个加锁的代码块时计数器就会减1一直到最后一个锁时才会释放锁 关于死锁 1.在Java中如果一个线程对同一个锁连续加锁两次不会造成死锁现象 2.如果两个线程两把锁每个线程都加两个不同的锁(嵌套加锁)就会造成死锁现象 例如让线程1先获取锁1线程2获取锁2然后在锁1的内部再尝试获取锁2 再锁2的内部再尝试获取锁1 public static void main(String[] args) {//定义两把锁Object lock1 new Object();Object lock2 new Object();//让线程1嵌套获取两把锁Thread thread1 new Thread(() - {synchronized (lock1) {//此处睡眠很重要如果没有睡眠线程1可能就会一下子把两把锁都获取了就构不成死锁现象了try {Thread.sleep(1000);} catch (InterruptedException e) {throw new RuntimeException(e);}synchronized (lock2) {System.out.println(thread1加锁成功);}}});//让线程2嵌套获取两把锁Thread thread2 new Thread(() - {synchronized (lock2) {try {Thread.sleep(1000);} catch (InterruptedException e) {throw new RuntimeException(e);}synchronized (lock1) {System.out.println(thread2加锁成功);}}});thread1.start();thread2.start();}3.n个线程m把锁更容易出现死锁问题例如哲学家就餐问题 哲学家就餐问题 死锁是一个比较严重的bug那如何避免/解决死锁呢 如何避免/解决死锁 要想避免死锁就要先直到死锁是怎么形成的这样才能对症下药导致死锁的四个必要条件 1.互斥使用当线程1获取锁之后线程2也想获取同一把锁就会阻塞等待(锁的特性) 2.不可抢占当线程1已经获取到锁之后线程2不能强行抢占锁(锁的特性) 3.请求保持一个线程尝试获取多把锁(一个线程获取到锁1之后还想尝试获取锁2此时锁1也并未解锁)例如上面的 4.循环等待线程获取锁时形成了环路例如上面哲学家同时拿起左边的筷子 第一点和第二点是锁的特性如果想要解决死锁就要破坏第三点和第四点 对于第三点来讲只要避免两把不同的锁嵌套获取即可 对于第四点来讲可以约定给所有的锁进行一个编号规定所有的线程只能按顺序先获取编号小的锁然后获取编号大的锁例如 以上虽然时嵌套加锁的但是并未形成环路得到lock1锁的线程执行未获得lock1的线程阻塞等待并且也无法获得lock2
http://www.huolong8.cn/news/119676/

相关文章:

  • 网站分页导航网站建设维护兼职
  • 文昌湖城乡建设局网站专业做房地产网站建设
  • 网站制作推广单页网站的域名
  • 网站建设开发熊掌号中国平面设计公司
  • 东莞网站公司网站推广效果不好原因是
  • 企业做网站优点网站功能建设与栏目划分
  • 新媒体公司网站怎么做wordpress如何查看插件
  • 河南省网站集约化建设口碑营销的特点
  • 网站建设与管理案例...建设部门网站
  • 展示型网站建设方案网站开发 资质
  • 韩国做美食网站有哪些对网络推广的理解
  • 成都网站建设与网站制作WordPress表白墙主题
  • wordpress改造成mip站吉林省交通建设集团有限公司网站
  • 外贸网站搭建公司做家装网站源码
  • 自己建设个小网站要什么手续费哪里网站建设专业
  • 电子商务html网站模板保险网站导航
  • 做网站需要费用多少加盟平台网站怎么做
  • 长沙哪里有做网站的公司京建站公司
  • 产品类网站公众平台申请
  • 个人网站备案拍照福建石狮有做网站的没
  • 咖啡建设网站的目的郑州网络推广代理
  • 用手机建立网站无极电影网怎样下载电影
  • 自考网页制作与网站建设建一个团购网站需要多少钱
  • 广东省建设信息网网站天津建设网站c2成绩查询
  • 北京网站手机站建设公司电话号码微信小程序开发教程详解
  • wordpress主题 mnews1.9衡水网站建设优化推广
  • 龙华网站 建设深圳信科自己做网站难吗
  • 建一个公司网站多少钱?退役军人事务部网站建设
  • 网站用哪些系统做的好处工作箴言
  • 鱼骨建站公司网络营销公司排行