就业数据资源平台
当前位置:首页 > Java语言程序设计
2011年计算机等级考试二级Java章节练习题(8)

第八章 线程与对象串行化

  1. 下列关于JAVA中进程与线程的说法不正确的是:B


  A.多线程是一个程序中的多个并发执行的程序流。


  B.JAVA中一个应用程序运行后在系统中作为一个独立的线程。


  C.多个线程在单个CPU的机器中运行时将分享CPU时间。


  D.多线程机制可以提高程序的执行效率。


  2.下列程序的功能是创建线程打印5行“HOW DO YOU DO!”,请阅读程序:


  Public class ThreadTest


  {


  Public static void main(String args[])


  {


  Xyz xyz = new Xyz ();


  ( );


  t.start();


  }


  }


  Class Xyz implements Runnable


  {


  Int i;


  Public void run()


  {


  While(i<5)


  {


  System.out.println(“How do you do!”+i++);


  }


  }


  }


  下列选择中能够填在下划线上使用程序正确运行的语句是:A.


  A.Thread t=new Thread(xyz) B.Thread t=new Thread()


  C.Thread t=new Xyz() D.Thread t=new Thread(Xyz)


  3 阅读下列程序:


  1 public class Try extends Thread


  {


  2 public static void main(String args[])


  {


  3 Try t=new Try();


  4 t.start();


  5 }


  6


  7 public void run(int j)


  {


  8 int i=0;


  9 while(i<5)


  {


  10 System.out.println(“祝你成功!”+i++);


  11 }


  12 }


  13 }


  使程序创建一个线程打印5行“祝你成功!”,要求改正程序中的一行代码,选择正确的修改是:D


  A. 将第一行的extendsThread改为implements Runnable


  B. 将第三行的 new Try()改为new Thread()


  C. 将第四行t.start()改为 start(t)


  D. 将第七行的 public void run(int j)改为public void run()


  4 阅读下列程序:


  Class ThreadTest implements Runnable


  {


  Public static void main(String args[])


  {


  ThreadTest tt=new ThreadTest();


  }


  Public ThreadTest()


  {


  Thread tt=new Thread(this);


  tt.start();


  }


  Public void run()


  {


  System.out.println(“A thread test, ”);


  System.out.println(“printed from a thread.”);


  }


  }


  对该程序而言,正确的结论是:D


  A. 该程序将出现编译错误,编译器将提示变量tt 在main()方法和构造方法ThreadTest()中进行了重复定义。


  B. 该程序可以通过编译,但不能正常运行,因为在构造方法中不能使用this关键字


  C. 该程序将通过编译并可以运行,但将不能显示任何字符串


  D. 该程序将通过编译并可以运行,运行结果是显示字符串:A thread test,printed from a thread.


  5 提供notify()方法定义的类是:C


  A. Thread B. Runnable C.Object D. Applet


  6 下列关于线程调度的说法,不正确的是:C


  A. 当前线程调用sleep()方法,可以使比其优先级的线程获得运行机会


  B. 当有比当前线程的优先级高的线程出现时,高优先级线程将抢占CPU并运行


  C. 当前线程调用yield()方法,会使比当前线程优先级低的线程获得运行机会


  D. JAVA中线程的优先级可以由程序员进行设置


  7 下列关于JAVA线程同步机制的说法正确的是:A


  A. 在JAVA线程中,临界区可以是由synchronized 关键字标识的一个语句块或一个方法


  B. 用synchronized 保护的共享数据的访问权限可以是public


  C. 当在synchronized 标识的语句块或方法执行过程中出现异常,则线程仍将保留原有的对象锁


  D. 对共享数据的所有操作,只要其中某些常用操作标识为临界区,就可以达到多线程并发控制的目的


  8 线程生命周期中的状态包括:C


  A. 新建状态、运行状态和终止状态


  B.新建状态、运行状态、阻塞状态和终止状态


  C.新建状态、可运行状态、运行状态、阻塞状态和终止状态


  D. 新建状态、可运行状态、运行状态、阻塞状态、恢复状态、和终止状态


  9 下列方法会使线程暂停运行的是:A


  A.wait() B.notify() C.notify All() D synchronized()


  10 下列关于对象串行化的说法不正确的是:C


  A. 可以通过 ObjectOutputStream 类的 WriteObject()方法将对象写到一个文件中


  B. 可以通过ObjectOutputStream类的 readObject()方法将一个文件中的对象读到内存中


  C. JAVA中的对象都可以进行串行化


  D. JAVA支持对象串行化的定制

就业数据资源平台