计算机二级

请阅读下面程序为使该程序正确执行,下画线处的语句应是( )。A.t.sleep( )B.t.yield( )C.t.interrupt( )D.t.start( )

题目

请阅读下面程序为使该程序正确执行,下画线处的语句应是( )。

A.t.sleep( )

B.t.yield( )

C.t.interrupt( )

D.t.start( )

参考答案和解析
正确答案:D
程序中通过继承Thread类来创建线程,而Java中新创建的线程不会自动运行,必须调用线程的start()方法,才能运行该线程。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在下面的程序的横线处填上适当的语句,使该程序的输出结果为12。include using namespac

在下面的程序的横线处填上适当的语句,使该程序的输出结果为12。

include<iostream>

using namespace std;

class TestClass

{

public:

int a,b;

TestClass(int i,int j)

{

a=i;

b=j;

}

};

class TestCla


正确答案:coutTestClass∷a
coutTestClass∷a 解析: 题目中程序TestClass为基类,TestClass1为派生类,在主函数中定义TestClass1对象d(1)。据题目要求“输出基类数据成员a的值”,基类为TestClass,利用∷域运算符取其成员a的值。

第2题:

阅读下列利用递归来求n!的程序。 为保证程序正确运行,在下画线处应该填入的参数是( )。A.n-1S

阅读下列利用递归来求n!的程序。为保证程序正确运行,在下画线处应该填入的参数是( )。

A.n-1

B.n-2

C.n

D.n+l


正确答案:A
因为在n不为1时,n!=n*(n-1)*(n-2)*…*1=n*(n-1)!,所以此处应为n-1。

第3题:

请阅读下面程序 publicclassThreadTest{ publicstaticvoidmain(Stringargs[])throwsException{ inti=0; Hellot=newHello(); ______, while(true){ System.out.println("GoodMoming"+i++); if(i==2&&t.isAlive()){ System.out.println("MainwaitingforHello!"); t.join();//等待t运行结束 } if(i==5)break;} } } classHelloextendsThread{ inti; publicvoidrun(){ while(true){ System.out.println("Hello"+i++); if(i==5)break;}}} 为使该程序正确执行, 下划线处的语句应是( )。

A.t.sleep()

B.t.yield()

C.t.interrupt()

D.t.start()


正确答案:D
解析: 程序中通过继承Thread类来创建线程,而Java中新创建的线程不会自动运行,必须调用线程的start()方法,才能运行该线程。

第4题:

阅读下面程序 public class Test2______ { public static void main(String[] args){ Thread t=new Test2(); t. start(); } public void run(){ System. out. priatln("How are you. "); } } 在程序下画线处填入的正确的选项是

A.implements Thread

B.extends Runnable

C.implements Runnable

D.extends Thread


正确答案:D
解析:Thread类是多线程基类,多线程启动类必须继承此类。而实现Runnable接口的类能作为多线程的一个执行任务,一般作为参数传给新的Thread类。

第5题:

在下面程序的画线处填上适当的内容,使程序执行后的输出结果为ABCD。 include using

在下面程序的画线处填上适当的内容,使程序执行后的输出结果为ABCD。

include <iostream>

using namespace std;

class A{

public:A( ){cout<<'A';}

};

class B: (11) {

public:B( ){cout<<'B';}

{;

class C: (12) {

public:C( ){cout<<'C';}

};

class D:public B,public C{

public:D( ){cout<<'D';}

};

void main( ){

D( );

cout<<endl;

}


正确答案:public A 空格
public A 空格 解析:考查在继承中构造函数的调用顺序,创建派生类对象时依次调用基类的构造函数,最后调用派生类的构造函数。考查在继承中构造函数的调用顺序,创建派生类对象时依次调用基类的构造函数,最后调用派生类的构造函数。

第6题:

在下面程序的横线处填上适当的语句,使该程序执行结果为10。 include using namespace

在下面程序的横线处填上适当的语句,使该程序执行结果为10。

include <iostream>

using namespace std;

class MyClass

{

public:

MyClasS(int A)

{

X=a;

}

【 】//取x的值

private:

int x;

};

int main()

{

MyClass my(10);


正确答案:int GetNum(){return x;}
int GetNum(){return x;} 解析:由主函数中调用对象my成员函数GetNum()可得到,成员函数GetNum()的功能是返回其私有数据成员x的值。

第7题:

请阅读下面程序 public class ThreadTest { public static void main(String args[]) throws Exception{ int i=0; Hello t=new Hello(); while(true) { System.out.println("Good Moming"+i++); if (i==2 && t.isAlive()) { System. out.println("Main waiting for Hello!"); t.join(); //等待t运行结束 } if(i==5) break;} } } class Hello extends Thread { int i; public void run() { while(true){ System.out.println("Hello"+i++); if (i==5) break;}}} 为使该程序正确执行,下划线处的语句应是

A.t.sleep()

B.t.yield()

C.t.interrupt()

D.t.start()


正确答案:D
解析:本题考查线程的基本知识。程序中通过继承Thread类来创建线程,而Java中新创建的线程不会自动运行,必须调用线程的start()方法,才能运行该线程。因此,下划线处的语句应调用线程的start()方法,即t.start()。
  Thread类还提供了—些方法对线程进行基本控制,其中,join()方法使当前线程暂停执行,等待调用该方法的线程结束后,再恢复执行:isAlive()方法用来测试线程是否活着。
  因此,本题的正确答案是选项D。

第8题:

( 28 )请阅读下面程序

public class ThreadTest {

public static void main ( String args[ ]) throws Exception {

int i=0;

Hello t = new Hello ();

___________;

whlle ( true ){

System.out.println ( "Good Morning"+i++ ) ;

if ( i=2 && t.isAlive ()){

System.out.println ( "Main waiting for Hello ! ” );

tjoin () ; // 等待 t 运行结束

if ( i==5 ) break :}

}

class Hello extends Thread {

int i ;

public void run ()笼

while ( true ){

System.out.println ( "Hello"+i++ ) ;

if ( i=5 ) break ;}}}

为使该程序正确执行,下划线处的语句应是

A ) t.sleep ()

B ) t.yieldn ()

C ) t.interrupt ()

D ) t.start ()


正确答案:D

第9题:

在下面程序的横线处填上适当的语句,使程序执行后的输出结果为ABCD。 include using nam

在下面程序的横线处填上适当的语句,使程序执行后的输出结果为ABCD。

include<iostream>

using namespace std;

classA

{

public:

A(){cout<<'A';}

};

class B:______

{

public:

B(){cout<<'B';}

};

class C:______

{

public:C(){cout<<'C';}

};

class D:public B,public C

{

public:D(){cout<<'D';}

};

void main(){D obj;)


正确答案:virtual A或virtual public A或virtual private A或virtual protected A与virtual A或virtual public A或virtual private A或virtual protected A
virtual A或virtual public A或virtual private A或virtual protected A与virtual A或virtual public A或virtual private A或virtual protected A 解析:由于每执行一次A类的构造函数,都将输出一个字符A,输出结果中只有一个A,且第一个输出为A,D继承B,可知必有B继承A。由题中要求C肯定继承某个类,所以,这里的C只能是继承于A,保证输出中只有一个A,A必须为虚基类,所以本题中的空都填virtual A。