oracle认证的java考试(21)

所需积分/C币:10 2013-05-10 16:23:56 906KB PDF
1
收藏 收藏
举报

oracle认证的java考试(21)
arena 达内科技 QUESTION 205 Given 1. public class Threads t 2. public static void main(Stringl args 3. new Thread(new Runnable(t 4. public void run(i 5. System. out. printIn("bar"); 6.0).start(: 7 8} What is the result? A. Compilation fails B. An exception is throw at runtime C. The code executes normally and prints bar D. The code executes normally, but noting prints 考点: n()方法和 start()方法,对匿名线程定义的考察 考点说明: run()方法:定义一个任务,使得该任务可以执行程序员的命令。 start(方法 通知CPU这个线程已经准备好启动,然后就等待分配CPU资源,来运行此线 程 本题详解: 本题用匿名内部类,实现 Runnable接口并重写了run)方法,定义了一个 线程:然后用 start0方法把这个线程启动。线程启动后便会执行run()方法里的 任务,所以就打印”bar" Answer C 达内科技(中国)有限公司版权所有 arena 达内科技 QUESTION 206 Which two code fragments will execute the method dostuff( in a separate thread? (choose two) A. new Threader public void run ( Stuff(: 1 B. new Thread(t public void startoidoStuff(; 1 C. new Threads public void startoido Stuff(, 1 B, runo D. new Thread(t public void run(doStuff( 1 3. start(; 必 E. new Thread( new Runnable Or public vold run (doStuff(: H 6: runO: F. new Thread new Runnable( public void run ((: s).start( 考点: run(和 start0)方法,如何运行一个线程 考点说明: 实现多线程的两种方式:种是继承 Thread类,格式如下: class类名称 extends thread{∥然承 Thread类 属性…; ∥类中定义的属性 方法 ∥中定义的方法 public void run ∥7写 Thread类中的run()方法 线程主体 种是实现 Runable接口,格式如下: cass类名称 implements Runnable{∥实现 Runnable接山 属性 中定义的属性 方法 ∥中定义的方法 public void run (t ∥覆写 Runnable接口中的run()方法 线程主体 这两种方式启动线程的方法:第一种启动时直接调用此类对象的 start()方法 即可;第二种启动此线程需要借助 Thread类的对象的star()方法, Thread类中 达内科技(屮国)有限公司版权所有 arena 达内科技 提供了 public Thread( Runnable target)和 public Thread( Runnable target, String name)两个构造方法,用来直接接受 Runnable子类对象,以便启 动线程。 本题详解 本题是用匿名内部类定义一个线程,并启动此线程。D选项是继承 Thread 类来定义线程,并用自己的对象来启动;F选项是用实现 Runnable接口来定义 个线程,并借助 Thread对象来启动。 Answer De 达内科技(中国)有限公司版权所有 arena 达内科技 QUESTION 207 Given 1. public class Threads t 2. public static void main(string[] args)( 3. new Threads40-go( 4.} 5. public void go(f 6. Runnable r= new Runnable(t 7. public void run(t 8. System. out printIn("foo"); 9 10 11. Thread t= new Thread(r); 12. tstart(: 13. t start( 14. 15 What is the result? A. Compilation fails B. An exception is thrown at runtime C. The code executes normally and prints foo D. the code executes normally, but noting is printed 考点: 线程的启动,run()方法和 start(0方法 考点说明: 个线程只能启动一次 如果启动两次会抛出 Java, IC. iLlegal ThreadStateEXception异常。 举例:一个人只能出生一次 本题详解: 本题在第12行和第13行时连用了两次ster)方法来后动线程,所以会抛出 异常。 Answer B 达内科技(中国)有限公司版权所有 arena 达内科技 join(方法 join方法 public final void join o throws InterruptedException 调用 a joIn(会使当前正在运行的线程等待,先执行完其它线程的方法,然后 再往下继续执行。使用此方时,需要使用 Try/Catch捕获 InterruptedException 异常或者直接在方法的声明时抛出该异常 它有两个重载:join( ong millis和jin( ong millis, int nanos) 知识点 join()用一个线程对象B调用join()方法时,若线程B没有结束,则讣线程B强制执 行,并使当前线程A处于等待状态直到线程B结束,然后再执行处于等待状态的 线程A:岩线程B已经结束,则不会对当前线程A造成影响 达内科技(中国)有限公司版权所有 arena 达内科技 join0方法 QUESTION 208 What is the output if the main( method is run? Given the exhibit 10. public class Starter extends Thread 11. private int x=2 12. public static void main(stringl args)throws Exception 13. new Starter(. makeltsoo 14.} 15. public Starter(t 16.x=5 17. start(; 18.} 19. public void makeltsoo throws Exception 20. join( 21.X=X-1; 必 22. System.out. printIn(x) 23 24. public void run (X*=2, 1 A.4 C.8 D.9 E. Compilations fails F. An exception is thrown at runtime G. It is impossible to determine for certain 考点: join()方法,以及对一个线程的创建和运行 本题详解: 本题中在第13行,新建个 Starter!时,会调用其构造方法,批x赋值为5; 并启动一个线程,)之后执行Un(方法此时x变为10。然后用此新建的对象调用其 make方法,此方法中调用了oinO是新建的线程已结束,join没有起作 用。接着热衍x=x1,所以最终x为9 AnswerD 达内科技(中国)有限公司版权所有 arena 达内科技 QUESTION 209 Given the exhibit 1. public class Teston implements Runnable i 2. public static void main(String[] args)throws Exception 3. Thread t= new Thread (new Testoneo) 4. t start() 5. System. out. print (" Started") 6. tjoin( 7. System. out. print("Complete); 8. 9. public void run i 10.for(nti=0;i<4;i++){ 11. System. out. print(() 12 13.} 14 What can be result? A. Compilation fails B. An exception is thrown at runtime C. The code executes and prints"Started complete D. The code executes and prints "Started Complete0123 E. The code executes and prints" Started0123Complete 考点 join()方法 本题详解 本题中,在man线程中,用线程对象t来调用jim(方法,则会强制执行 线程t,main线程则会等待直到线程t结束。所以本题执行后的结果为 "Started0123Complete A刀sweE 达内科技(中国)有限公司版权所有 arena 达内科技 QUESTION 210 DRAG DROP Place the code elements into the class so that the code compiles and prints Run. Run Dolt. in exactly that order. note that three may be more than one correct solution public class TestTwo extends Thread i public static void main(String[ a)throws EXception TestTwo t= new TestT wo0 t start Place here Place here Place here 必 public void runo t System. out print("Run ") public void dolto System. out. print("Dolt. ) Code elements t start t join t pause(10 runo t dolto) dolt( 考点 jon()方法,star(方法 本题详解 :程序最后打印的是” Run. run. dolt;提示:答案有多种选择。 本题握供的选项中, t pause(10)可以排除,因为线程对象没有此方法。 runO和do0)也可以排除,因为在静态方法man()中不可直接调用非静态方 法。 t start(也可以排除,因为一个线程只能调用一次 start0) 因为结果是” Run, run dolt”,所以tdot()必须最后执行;又由上述知识点 知runO和join)位置可以互换 Answer 达内科技(中国)有限公司版权所有

...展开详情
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 分享宗师

    成功上传21个资源即可获取
关注 私信
上传资源赚积分or赚钱
最新推荐