[试题]

阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。

(说明)

下面的Java程序演示了程序竞争资源(Mutex的实例对象)而引起程序死锁的一种例子。

(Java程序)

import java.applet.*;

import java.awt.*;

//此处声明一个互斥类

class Mutex { }

class A extends (1)

{

private Mutex first,second;

public A(Mutex f,Mutex s)

{

first = f;

second = s;

}

public void run()

{

//锁定first变量(2) (first)

{

try

{ //本线程挂起,等待重新调度

Thread.sleep(1); //注意此处(1)不是小题序号

}

catch(InterruptedException e){}

System. out. println("threadA got first mutex");(2) (second) //锁定second变量

{ //do something

System. out. println("threadA got second mutex");

} //释放second变量

} //释放first变量

}

}

class B extends (1)

{

private Mutex first,second;

public B(Mutex f,Mutex s)

{(3) ;

second = s;

}

public void run()

{(2) (second) //锁定second变量

{

//do something

try

{

Thread.sleep(((int)(3*Math.random()))*1000);

//本线程挂起,等待重新调度

}

catch(InterruptedException e){}

System.out.println("threadB got second mutex");(2) (first) //锁定first变量

{

//do something

System.out.println("threadB got first mutex");

} //释放first变量

} //释放second变量

}

}

public class DeadlockExample

{

public static void main(String arg[])

{

Mutex mutexX = new Mutex();

Mutex mutexY = new Mutex();

A.threadA = new A(mutexX,mutexY);

B. threadB = new B (4);

thread

A.(5);

thread

B.start();

}

}

参考答案与解析:

相关试题

阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。 (说明) 下面

[主观题]阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。(说明)下面的Java程序演示了如何使用Applet在网页上显示图形用户界面CUI(graphical user interface),该实例显示一个时钟。每当浏览器显现Applet的内容时都调用start()函数,让applet得以开始工作(尤其时那些被stop()函数所关闭的工作)。每当浏览器不再显现Applet的内容时都调用stop()函数,让applet得以关闭某些甚耗资源的工作调用destroy()函数之后也会调用此函数。

  • 查看答案
  • 阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。 (说明) 下面

    [主观题]阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。(说明)下面的Java程序演示了如何在用户等待载入主程序时显示logo图片的例子。logo图片mylogo.gif存放在文件夹image下面。显示logo图片的是一个线程类logo。(Java程序)import javax.swing.*;import java.awt.*;import java.awt.event.*;import javax.swing.ImageIcon.*;import java.lang.Runnable

  • 查看答案
  • 阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。(说明) 下面代

    [试题]阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。(说明)下面代码里,instr是一个抽象类,它被两个子类wind和rain分别实现,而brass又继承了wind类,并覆盖了play方法。(程序)(1) class instr{(2) Void play();}class wind (3) instr{void play(){System.out.println("wind play!");}}class rain extends instr {void play(){Syste

  • 查看答案
  • 阅读以下说明和java代码,将应填入(n)处的字句写在对应栏内。[说明] 有若干

    [试题]阅读以下说明和java代码,将应填入(n)处的字句写在对应栏内。[说明]有若干教师,每个教师只有姓名,一个教师可以指导多名研究生;每名研究生有姓名和研究方向,程序最后输出每个教师指导的所有研究生的姓名和研究方向。[Java程序]public class Teacher {String name;int top=0;Student[] student=new Student[20];public Teacher() {}public Teacher(String name) { this.name=

  • 查看答案
  • 阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。[说明] 编写一

    [试题]阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。[说明]编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。[Java 代码]import java. io.* ;public class abc{public static void main ((1)){int i, n=10, max=0, min=0, temp=0;try {B.ufferedReader br = new BufferedReader (

  • 查看答案
  • 阅读以下说明和java代码,将应填入(n)处的字句写在对应栏内。[说明] 本程序

    [试题]阅读以下说明和java代码,将应填入(n)处的字句写在对应栏内。[说明]本程序中预设了若干个用户名和口令。用户输入正确的用户名后,可以查找对应的口令,一旦输入结束标记“end”,程序结束。[Java代码]import java. io. *:public class User {public String user;public Siring pass;public User() { }public User( String u,String p) {user=u;pass=p;}public S

  • 查看答案
  • 阅读以下说明和Java程序,将应填入(n)处的字句写在对应栏内。 [说明] 下面

    [试题]阅读以下说明和Java程序,将应填入(n)处的字句写在对应栏内。[说明]下面程序是为汽车市场编制的一个程序的一部分。其中automobile是基类。[Java程序]class MainJava{public static void main(String agr[]){car sedan=new car();sedan.initialize(24,20.0,4);System.out.println ("The sedan can travel"+ (1) +"miles./n");Sys

  • 查看答案
  • 阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内(说明) 编写字符

    [主观题]阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内(说明)编写字符界面的Application程序,接收依次输入的10个整型数据,每个数据一行,将这些数据按升序排序后从系统的标准输出设备输出。(Java代码)import java.iO.*;import java.util.* ;public class compositor{public static void main ( String args[] ){final int NUMBER=10;Vector dataVector

  • 查看答案
  • 阅读以下说明和JAVA2代码,将应填入(n)处的字句写在对应栏内。(说明) 以下

    [主观题]阅读以下说明和JAVA2代码,将应填入(n)处的字句写在对应栏内。(说明)以下程序实现了利用鼠标任意移动该圆形的位置,仔细阅读代码和相关注释,将程序补充完整。(代码6)import java.awt.*;import java.awt.event.*;public class CIUSAMPLE extends Frame. implements MouseMotionListener, MouseListener{static CIUSAMPLE frm=new CIUSAMPLE ();in

  • 查看答案
  • 阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 [说明] 下面程序用

    [主观题]阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。[说明]下面程序用来将打乱的单词还原为原来的次序,比如将rty还原为try。单词的原来次序存储于wordlist.txt文件中,原则上可用穷举法(rty对应的穷举为:rty、ryt、try、tyr、ytr、yrt),但考虑到破译速度,采用如下方法。注意到单词列表中不存在组成字符完全相同的单词(如Hack12与Hack21包含完全相同的字符),因此将单词中的字符进行重组再进行比较,例如,try单词重组为rty(按ASCⅡ码顺序),这样不管打

  • 查看答案
  • 阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。 (说明) 下面