(说明)
下面的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程序演示了如何使用Applet在网页上显示图形用户界面CUI(graphical user interface),该实例显示一个时钟。每当浏览器显现Applet的内容时都调用start()函数,让applet得以开始工作(尤其时那些被stop()函数所关闭的工作)。每当浏览器不再显现Applet的内容时都调用stop()函数,让applet得以关闭某些甚耗资源的工作调用destroy()函数之后也会调用此函数。
[主观题]阅读以下说明和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)处的字句写在对应栏内。(说明)下面代码里,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程序]public class Teacher {String name;int top=0;Student[] student=new Student[20];public Teacher() {}public Teacher(String name) { this.name=
[试题]阅读以下说明和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)处的字句写在对应栏内。[说明]本程序中预设了若干个用户名和口令。用户输入正确的用户名后,可以查找对应的口令,一旦输入结束标记“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)处的字句写在对应栏内。[说明]下面程序是为汽车市场编制的一个程序的一部分。其中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)处的字句写在对应栏内(说明)编写字符界面的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)处的字句写在对应栏内。(说明)以下程序实现了利用鼠标任意移动该圆形的位置,仔细阅读代码和相关注释,将程序补充完整。(代码6)import java.awt.*;import java.awt.event.*;public class CIUSAMPLE extends Frame. implements MouseMotionListener, MouseListener{static CIUSAMPLE frm=new CIUSAMPLE ();in
[主观题]阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。[说明]下面程序用来将打乱的单词还原为原来的次序,比如将rty还原为try。单词的原来次序存储于wordlist.txt文件中,原则上可用穷举法(rty对应的穷举为:rty、ryt、try、tyr、ytr、yrt),但考虑到破译速度,采用如下方法。注意到单词列表中不存在组成字符完全相同的单词(如Hack12与Hack21包含完全相同的字符),因此将单词中的字符进行重组再进行比较,例如,try单词重组为rty(按ASCⅡ码顺序),这样不管打