请完成下列Java程序:运行3个线程,每一个线程有自己的标志,用a,b,c表示,每个线程显示一个“Start”信息和一个“End”信息并且间隔地显示2个“Loop”信息(间隔变化为(0.5-2)秒之间的随机延迟)。程序运行结果如下:(注:由于时间间隔为随机数,所以,运行结果的顺序不惟一)a Startb Startc Startb Loopa Loopb Loopb Endc Loopa Loopa Endc Loopc End注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。public class ex2_2 implements Runnable {static char flag2_2 = 'a';public static void main(String[] arg) {ex2_2 obj2_2 = new ex2_2();Thread thread2_2 = new Thread(obi2_2);thread2_2.start();thread2_2 = new Thread(obj2_2);thread2 2.start();thread2_2 = new Thread(obi2_2);thread2_2, start ( );}public void run() {char myflag2_2;synchronized(this) {_________________;}System.out.println(myflag2_2 +" Start");for(int i=0; i<2; i++) {try {Thread.sleep(rand(500,2000));System.out.println(myflag2_2 +" Loop");} catch(InterruptedException ie) {System.out.println(ie);}}System.out.println(myflag2_2 +" End");}final private int rand(int low, int high)return(_________________);}}

请完成下列Java程序:运行3个线程,每一个线程有自己的标志,用a,b,c表示,每个线程显示一个“Start”信息和一个“End”信息并且间隔地显示2个“Loop”信息(间隔变化为(0.5-2)秒之间的随机延迟)。

程序运行结果如下:(注:由于时间间隔为随机数,所以,运行结果的顺序不惟一)

a Start

b Start

c Start

b Loop

a Loop

b Loop

b End

c Loop

a Loop

a End

c Loop

c End

注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。

public class ex2_2 implements Runnable {

static char flag2_2 = 'a';

public static void main(String[] arg) {

ex2_2 obj2_2 = new ex2_2();

Thread thread2_2 = new Thread(obi2_2);

thread2_2.start();

thread2_2 = new Thread(obj2_2);

thread2 2.start();

thread2_2 = new Thread(obi2_2);

thread2_2, start ( );

}

public void run() {

char myflag2_2;

synchronized(this) {

_________________;

}

System.out.println(myflag2_2 +" Start");

for(int i=0; i<2; i++) {

try {

Thread.sleep(rand(500,2000));

System.out.println(myflag2_2 +" Loop");

} catch(InterruptedException ie) {

System.out.println(ie);

}

}

System.out.println(myflag2_2 +" End");

}

final private int rand(int low, int high)

return(_________________);

}

}


相关考题:

下列有关线程的叙述哪个是正确的?A.一旦一个线程被创建,它就立即开始运行B.调用start( )方法可以使一个线程成为可运行的,但是它不一定立即开始运行C.主线程不具有默认优先级D.Java中线程的优先级从低到高以整数0~9表示

下列有关线程的叙述哪个是正确的? ( )A.一旦一个线程被创建,它就立即开始运行B.调用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行C.主线程不具有默认优先级D.Java中线程的优先级从低到高以整数0-9表示

下列有关线程的叙述______是正确的。A.一旦一个线程被创建,它就立即开始运行B.调用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行C.主线程不具有默认优先级D.Java中线程的优先级从低到高以整数0~9表示

下列有关线程的叙述( )是正确的。A.一旦一个线程被创建,它就立即开始运行B.调用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行C.主线程不具有默认优先级D.Java中线程的优先级从低到高以整数0~9表示

下列关于线程状态和生命周期的说法不正确的是A.一个线程组内不仅可以包含线程,还可以包含其他线程组B.线程在终止状态可以调用start()方法使它可运行C.在Java中,最顶层的线程组是mainD.线程执行过程中,有一个更高优先级的线程进入可运行状态,这个线程立即被调度执行,当前线程占有的CPU被抢占

关于线程,下列叙述正确的是______。A.线程本身也是一个程序,它自己能独立运行B.多个线程中,每一个线程都有自己独立的一块内存空间、一组系统资源C.线程就是一个程序内部的顺序控制流D.多线程就是多次启动一个程序

下列说法中,错误的一项是______。A.一个线程组中可以包含若干线程B.一个Java应用程序启动时,Java运行系统为该程序创建一个名为main的线程C.一个线程组中不可以再包含线程组D.一个Java应用程序的最顶层线程组是main

每个Java程序都有一个缺省的主线程,对于Application类型的程序来说,主线程是方法 执行的线程。

18、下列有关线程的叙述哪个是正确的A.一旦一个线程被创建,它就立即开始运行B.调用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行C.主线程不具有默认优先级D.Java中线程的优先级从低到高以整数0~9表示

3、下列有关线程的叙述哪个是正确的A.一旦一个线程被创建,它就立即开始运行B.调用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行C.主线程不具有默认优先级D.Java中线程的优先级从低到高以整数0~9表示