题目内容

下面的程序时一个模拟龟兔赛跑的多线程程序,请将划线上(1)~(4)的语句补充完整class Animal (1){//继承线程类int speed;//速度public Animal((2)) {//线程名用动物们代表,即其中一个参数是String类型的super(str);this.speed=speed;}public void run() {int distance=0;int sleepTime;while(distance<=1000) {System.out.println(getName()+"is at "+distance);try {distance+=speed;sleepTime=(int)(speed+Math.random()*speed);sleep(sleepTime);}catch(InterruptedException e) {e.printStackTrace();}}}}public class Race {public static void main(String[] args) {Thread a1,a2;(3);// 创建兔子的对象,名为“rabbit”,速度为100,对象引用名为a1(4);// 创建乌龟的对象,名为“turtle”,速度为20,对象引用名为a2a1.start();a2.start();}}

查看答案
更多问题

下面的代码是模拟生产者——消费者问题中的共享对象对应的类Share的代码。当生产者线程把一个数据放入Share对象的contents中后,将available赋值为true,表示生产者生产好了产品,通知消费者线程可以取走,如果消费者还没有取走产品,则生产者线程必须等待:如果消费者线程可以取走了产品,则将available赋值为false,然后通知生产者继续生产,否则消费者线程必须等待。请补充完成划线(1)~(5)部分的代码,编号相同的空代码是一样的。public class Share {private int contents;private boolean available=false;public(1)int get() {//同步get方法while((2)){//没有可提供的数据try {(3);//线程等待}catch(InterruptedException e) {e.printStackTrace();}}available=false;(4);//唤醒所有的线程return contents;}public (1) int put(int value) {//同步put方法while((5)){//有可提供的数据try {(3);//线程等待}catch(InterruptedException e) {e.printStackTrace();}}contents=value;available=true;(4);//唤醒所有的线程return contents;}}

return语句的作用是使程序流程从( )返回到( )的调用处。

以下程序输出的结果是( )。#include "stdio.h"int r(int a[]){int i,m=a[0];for(i=1;i<10;i++)if(a[i]>m)m=a[i];return m;}int main(){int a[10]={1,6,9,5,6,3,88,0,5,56};printf("%d\n",r(a));return 0;}

以下程序运行时输出( )int f(int x,int y){return x/y+x%y;}int main(){float a=1.5,b=2.5;float c=f(a,b);printf(“%.2f”,c);return 0;}

答案查题题库