<label id="omcfq"></label>

      <rp id="omcfq"><acronym id="omcfq"></acronym></rp>


        广州电脑培训暨华官网
        广州电脑培训
        • 广东省软件工程师实训基地
        • 广东省高薪就业培训中心

        • 广东省网络工程师实训基地
        • 广东省电脑人才培训中心

        您现在的位置:所在位置: 广州电脑培训 >> 电脑技术 >> java >> 正文    >

        java线程死锁模拟
          

          1,关于死锁的理解

          死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。

          2,模拟死锁

          背景介绍:我们创建一个朋友类,当朋友向我们鞠躬的时候,我们也要向朋友鞠躬,这样才算一个完整的动作。当两人

          同时鞠躬的时候,都在等待对方鞠躬。这时就造成了死锁。

          模拟程序:

          package com.yxy.thread;

          /**

          * @author windows

          * 死锁模拟程序

          */

          public class Deadlock {

          /**

          * @author windows

          * 朋友实体类

          */

          static class Friend {

          //朋友名字

          private final String name;

          //朋友实体类型的构造方法

          public Friend(String name) {

          this.name = name;

          }

          //获取名字

          public String getName() {

          return this.name;

          }

          //朋友向我鞠躬方法,(同步的)

          public synchronized void bow(Friend bower) {

          System.out.format("%s: %s"

          + " has bowed to me!%n",

          this.name, bower.getName());

          bower.bowBack(this);

          }

          //我回敬鞠躬方法,(同步的)

          public synchronized void bowBack(Friend bower) {

          System.out.format("%s: %s"

          + " has bowed back to me!%n",

          this.name, bower.getName());

          }

          }

          public static void main(String[] args) {

          //死锁模拟程序测试开始

          //创建两个友人alphonse,Gaston

          final Friend alphonse =

          new Friend("Alphonse");

          final Friend gaston =

          new Friend("Gaston");

          //启动两位友人鞠躬的线程。

          new Thread(new Runnable() {

          public void run() { alphonse.bow(gaston); }

          })。start();

          new Thread(new Runnable() {

          public void run() { gaston.bow(alphonse); }

          })。start();

          }

          }




      1. 上一篇电脑技术: 没有了
      2. 下一篇电脑技术:

      3. 幸运时时彩 湟中县 | 巴中市 | 孟州市 | 四子王旗 | 亳州市 | 犍为县 | 恩平市 | 郓城县 | 甘德县 | 西宁市 | 扬州市 | 乐山市 | 扎兰屯市 | 芦山县 | 武宁县 | 宁南县 | 调兵山市 | 工布江达县 | 兴安盟 | 辽中县 | 成安县 | 岫岩 | 韶关市 | 保山市 | 云和县 | 鹤壁市 | 黎城县 | 万年县 | 荔波县 | 三都 | 永定县 | 西宁市 | 大关县 | 定安县 | 绥阳县 | 阳原县 | 万源市 | 远安县 | 报价 | 五原县 | 五大连池市 | 莲花县 | 沾化县 | 尉犁县 | 宝应县 | 本溪市 | 周宁县 | 红桥区 | 外汇 | 徐汇区 | 黔东 | 新闻 | 顺平县 | 瓦房店市 | 福贡县 | 肃宁县 | 乌兰察布市 | 柘荣县 | 高密市 | 尉犁县 | 贵定县 | 江油市 | 二连浩特市 | 凉城县 | 慈溪市 | 仁化县 | 霸州市 | 桂林市 | 钦州市 | 九江市 | 肥西县 | 安图县 | 崇礼县 | 平果县 | 东乡县 | 富平县 | 溧阳市 | 洛南县 | 浮山县 | 霍山县 | 资中县 | 当阳市 | 浠水县 | 苍南县 | 乐东 | 平江县 | 宁化县 | 班戈县 | 鄂尔多斯市 | 平原县 | 龙山县 | 鲁山县 | 池州市 | 呼和浩特市 | 崇义县 | 西青区 | 庆安县 | 太原市 | 华池县 | 姚安县 |