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

网站建设需求计划销售网站怎么做

网站建设需求计划,销售网站怎么做,如何提高网站索引量,许昌建网站线程死锁是线程同步的时候可能出现的一种问题 文章目录1. 线程的死锁1.1 基本介绍1.2 应用案例2. 释放锁2.1 下面的操作会释放锁2.2 下面的操作不会释放锁1. 线程的死锁 1.1 基本介绍 多个线程都占用了对方的锁资源,但不肯相让,导致了死锁,…

线程死锁是线程同步的时候可能出现的一种问题

文章目录

  • 1. 线程的死锁
    • 1.1 基本介绍
    • 1.2 应用案例
  • 2. 释放锁
    • 2.1 下面的操作会释放锁
    • 2.2 下面的操作不会释放锁

1. 线程的死锁

1.1 基本介绍

  • 多个线程都占用了对方的锁资源,但不肯相让,导致了死锁,在编程的时候是一定要避免死锁的发生

1.2 应用案例

tom:你先完成作业,才让你玩手机
jack:你先让我玩手机,我才完成作业
  • 模拟线程死锁
public class DeadLock_ {public static void main(String[] args) {//模拟死锁现象DeadLockDemo A = new DeadLockDemo(true);A.setName("A线程");DeadLockDemo B = new DeadLockDemo(false);B.setName("B线程");A.start();B.start();}
}//线程
class DeadLockDemo extends Thread {static Object o1 = new Object();// 保证多线程,共享一个对象,这里使用staticstatic Object o2 = new Object();boolean flag;public DeadLockDemo(boolean flag) {//构造器this.flag = flag;}@Overridepublic void run() {//业务逻辑的分析://1. 如果flag 为 T, 线程A 就会先得到/持有 o1 对象锁, 然后尝试去获取 o2 对象锁//2. 如果线程A 得不到 o2 对象锁,就会Blocked//3. 如果flag 为 F, 线程B 就会先得到/持有 o2 对象锁, 然后尝试去获取 o1 对象锁//4. 如果线程B 得不到 o1 对象锁,就会Blockedif (flag) {synchronized (o1) {//对象互斥锁, 下面就是同步代码System.out.println(Thread.currentThread().getName() + " 进入1");synchronized (o2) { // 这里获得li对象的监视权System.out.println(Thread.currentThread().getName() + " 进入2");}}} else {synchronized (o2) {System.out.println(Thread.currentThread().getName() + " 进入3");synchronized (o1) { // 这里获得li对象的监视权System.out.println(Thread.currentThread().getName() + " 进入4");}}}}
}
  • 控制台可以看到线程死锁后就卡住了不会再打印下面的语句
    在这里插入图片描述

2. 释放锁

  • 线程的状态转换图
    在这里插入图片描述

2.1 下面的操作会释放锁

  1. 当前线程的同步方法、同步代码块执行结束
  2. 当前线程在同步代码块、同步方法中遇到 break、return
  3. 当前线程在同步代码块、同步方法中出现了未处理的ErrorException,导致异常结束
  4. 当前线程在同步代码块、同步方法中执行了线程对象的wait()方法,当前线程暂停,并释放锁

2.2 下面的操作不会释放锁

  1. 线程执行同步代码块或同步方法时,程序调用Thread.sleep()Thread.yield()方法暂停当前线程的执行,不会释放锁
  2. 线程执行同步代码块时,其他线程调用了该线程的suspend()方法将该线程挂起,该线程不会释放锁
    注意:应尽量避免使用suspend()resume()来控制线程,该方法不再推荐使用
http://www.shuangfujiaoyu.com/news/41209.html

相关文章:

  • 苏州网站建设介绍惠州seo推广外包
  • 网站建设管理是免费的精准引流软件
  • 自己做网站跟域名怎样做中国培训网的证书含金量
  • 优秀网站设计案例网站测试的内容有哪些
  • 网站制作b s的基本步骤网页设计制作网站模板
  • 赌网站怎么做关键词优化排名费用
  • 上饶网站建设推广网站营销与推广
  • 青海公司网站建设哪家好惠州关键词排名提升
  • 企业网站建设的建议百度搜索什么关键词排名
  • vs做网站mvc站长之家音效
  • 包头怎样做网站百度关键字搜索量查询
  • 织梦网站地图怎么做美国搜索引擎
  • 网站公告设计鱼头seo软件
  • 网站收录有什么好处网络广告营销案例分析
  • 网页设计实训一键关键词优化
  • 重庆建设工程交易中心网站seo顾问服务深圳
  • 美国免费网站服务器下载重庆今日头条新闻消息
  • 动态网站开发技术指标seo链接优化
  • 专业的营销型网站制作网站怎么优化关键词
  • 做网站需要什么知识网络营销有哪些主要功能
  • 成都网站建设找亮帅企业网站模板下载
  • 广州网站建设新锐百度搜索引擎优化方式
  • sharepoint做网站小白如何学电商运营
  • 邯郸营销网站建设公司网页设计是干嘛的
  • 做网站还是移动开发凡科小程序
  • 陕西煤业化工建设集团网站外贸网络推广怎么做
  • 长沙h5建站seo和sem的区别是什么
  • 淘宝如何做推广seo整站优化报价
  • 快递加盟代理搜索引擎优化哪些方面
  • dreamweaver做网站教程网站运营工作的基本内容