网友您好, 请在下方输入框内输入要搜索的题目:
请完成下列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 ex5_2 implements Runnable
{
static char flag5_2='a';
public static void main(String[] args)
{
ex5_2 obj5_2=new ex5_2();
Thread thread5_2=new Thread(obj5_2);
Thread5_2.start();
thread5_2=new Thread(obj2_2);
thread5_2.start();
threa'd5_2=new Thread(obj2_2);
thread5_2.start();
}
public void run()
{
char myflag5_2;
synchronized(this)
{
______;
}
System.out.println(myflag5_2+"Start");
for(int i=0;i<2;i++)
{
try
{
Thread.sleep(rand(500,2000));
System.out.println(myflag5_2+"Loop");
}catch(InterruptedException ie)
{
System.out.println(ie);
}
}
System.out.println(myflag5_2+"End");
}
final private iht rand(int low,int high)
{
return(______);
}
}
参考答案