文谷首页 | 业界传真 | 网络技术 | 服务器 | 数据库 | 存储技术 | 系统安全 | 无线技术 | Cisco | .Net | Windows | Linux | Unix | Java
电子商务 | 网站工程 | 网页设计 | 平面设计 | 多媒体 | 编程语言 | Oracle | MSSQL | Photoshop | ASP | PHP | 实用技巧 | 进程查询 | 文谷论坛
Java频道
 资讯动态   考试认证   新手入门   核心技术   高级技术   J2EE   J2ME   XML   开源技术   其他技术
您现在的位置: IT文谷 >> 开发平台 >> Java >> 考试认证 >> 考试介绍 >> 文章正文
SCJP考试中的线程题目分析SCJP考试中的线程题目分析2006-7-18 22:57:02SCJP考试中的线程题目分析2006-7-18 22:57:02SCJP考试中的线程题目分析
SCJP考试中的线程题目分析
SCJP考试中的线程题目分析SCJP考试中的线程题目分析2006-7-18 22:57:02SCJP考试中的线程题目分析2006-7-18 22:57:02SCJP考试中的线程题目分析
SCJP考试中的线程题目分析SCJP考试中的线程题目分析2006-7-18 22:57:02SCJP考试中的线程题目分析2006-7-18 22:57:02SCJP考试中的线程题目分析

  1:
  Which two CANNOT directly cause a thread to stop executing? (Choose Two)
  
  A.Existing from a synchronized block
  B.Calling the wait method on an object
  C.Calling notify method on an object
  D.Calling read method on an InputStream object
  E.Calling the SetPriority method on a Thread object
  Answer:AC。同55题
  
  2:
   public class SyncTest{
   public static void main(String[] args) {
   final StringBuffer s1= new StringBuffer();
   final StringBuffer s2= new StringBuffer();
   new Thread ()  {
    public void run() {
     synchronized(s1) {
       s2.append(“A”);
       synchronized(s2) {
    s2.append(“B”);
     System.out.print(s1);
      System.out.print(s2);
     }
     }
    } 
   }.start();
   new Thread() {
    public void run() {
     synchronized(s2) {
      s2.append(“C”);
      synchronized(s1) {
      s1.append(“D”);
       System.out.print(s2);
       System.out.print(s1);
      }
     }
     }
    }.start();
    }
   }
  Which two statements are true? (Choose Two)
  A. The program prints “ABBCAD”
  B. The program prints “CDDACB”
  C. The program prints “ADCBADBC”
  D. The output is a non-deterministic point because of a possible deadlock condition
  E. The output is dependent on the threading model of the system the program is running on.
  Answer:DE
  
  3:
  What will happen when you attempt to compile and run the following code?
  public class Test{ 
    int i = 0; 
    public static void main(String argv[]) {   
   Test t = new Test();   
   t.myMethod(); 
    } 
    public void myMethod(){   
   while(true) {     
   try {        
      wait();     
   }catch (InterruptedException e) {}     
   i++;   
   } 
    }
  }
  A. Compile time error, no matching notify within the method.
  B. Compile and run but an infinite looping of the while method.
  C. Compilation and run without any output.
  E. Runtime Exception "IllegalMonitorStatException".
  Answer: E
  Note: The wait/notify protocol can only be used within code that is synchronized. In this case calling code does not have a lock on the object(not synchronized) and will thus cause an Exception at runtime.
  
  4:
  1.10 What is the result of compiling and executing the following code?
  public class ThreadTest extends Thread { 
   public void run() {   
   System.out.println("In run");   
   yield();  
   System.out.println("Leaving run"); 
   } 
   public static void main(String args []) { 
   (new ThreadTest()).start(); 
   }
  }
  A. The code fails to compile in the main() method.
  B. The code fails to compile in the run() method.
  C. Only the text "In run" will be displayed.
  D. The text "In run" followed by "Leaving run" will be displayed.
  E. The code compiles correctly, but nothing is displayed.
  Answer: D
  
  5:
  1.12 Which of the following will definitely stop a thread from executing?A. wait()B. notify()C. yield()D. suspend()E. sleep()Answer: ACDE
  
  6:
  1.12 Which of the following will definitely stop a thread from executing?
  A. wait()
  B. notify()
  C. yield()
  D. suspend()
  E. sleep()
  Answer: ACDE
  
  7:
   Which of the following statements about threading are true?
  A. You can only obtain a mutually exclusive lock on methods in a class that extends Thread or implements runnable.
  B. You can obtain a mutually exclusive lock on any object.
  C. You can't obtain a mutually exclusive lock on any object.
  D. Thread scheduling algorithms are platform dependent.
  Answer: BD
  8:
  Consider the following statement: 
  Thread myThread = new Thread();
  Which of the following statements are true regarding myThread?
  A. The thread myThread is now in a runnable state.
  B. The thread myThread has a priority of 5.
  C. On calling the start() method on myThread, the run method in the Thread class will be executed.
  D. On calling the start() method on myThread, the run method in the calling class will be executed.
  Answer: C
  Note: the priority of myThread will be inherited from the Thread that called the constructor.
  9:
  What is the effect of issuing a wait() method on an object?(Mutiple)
  1) If a notify() method has already been sent to that object then it has no effect
  2) The object issuing the call to wait() will halt until another object sends a notify() or notifyAll() method
  3) An exception will be raised
  4) The object issuing the call to wait() will be automatically synchronized with any other objects using the receiving object.
  ANSWER 1)
  10:
  Pick all the true statements below.
  1) If a thread wants to call wait() on an object, the thread must own that object's lock.
  2) There is a method that you can call on an instance of the Thread class that puts the instance to sleep for a specified  number of milliseconds.
  3) At the moment when a thread is notified, it automatically gets the lock of the object for which it was waiting.
  ANSWER 1
  
  11:
  1. class Z {
  2.  public static void main(String[] args) {
  3.   new Z();
  4.  }
  5.
  6.  Z() {
  7.   Z alias1 = this;
  8.   Z alias2 = this;
  9.   synchronized(alias1) {
  10.    try {
  11.     alias2.wait();
  12.     System.out.println("DONE WAITING");
  13.    }
  14.    catch (InterruptedException e) {
  15.     System.out.println("INTERRUPTED");
  16.    }
  17.    catch (Exception e) {
  18.     System.out.println("OTHER EXCEPTION");
  19.    }
  20.    finally {
  21.     System.out.println("FINALLY");
  22.    }
  23.   }
  24.   System.out.println("ALL DONE");
  25.  }
  26. }
  Mutiple:
  1) Compiler error.
  2) The application compiles but doesn't print anything. 
  3) The application prints "DONE WAITING".
  4) The application prints "INTERRUPTED".
  5) The application prints "OTHER EXCEPTION".
  ANS: 2)
  12:
   What will happen when you attempt to compile and run the following code?
  class MyThread extends Thread{
   public void run(){
   System.out.println("MyThread: run()");
   }
   public void start(){////注意,此方法重写后,不再有CALL RUN()方法的功能。
   System.out.println("MyThread: start()");
   }
  }
  class MyRunnable implements Runnable{
   public void run(){
   System.out.println("MyRunnable: run()");
   }
   public void start(){//Runnable 并无此方法,所以,除非本类的对象可以CALL 它,否则,将CALL THREAD 的start()执行run()
   System.out.println("MyRunnable: start()");
   }
  }
  public class MyTest {
   public static void main(String args[]){
   MyThread myThread = new MyThread();
   MyRunnable myRunnable = new MyRunnable();
   Thread thread = new Thread(myRunnable);
   myThread.start();
   thread.start();
   }
  }
  A.prints: MyThread: start() followed by MyRunnable: run()
  B.prints: MyThread: run() followed by MyRunnable: start()
  C.prints: MyThread: start() follow

SCJP考试中的线程题目分析SCJP考试中的线程题目分析2006-7-18 22:57:02SCJP考试中的线程题目分析2006-7-18 22:57:02SCJP考试中的线程题目分析
  • 上一篇文章:

  • 下一篇文章:
  • 进入论坛讨论

    相关文章
    CCNA实验模拟器系列]思科网络技术学院FLASH实验介绍
    [CCNA实验模拟器系列] Boson NetSim破解下载图例
    [CCNA考试模拟系统系列] CertSim 破解下载图例
    主流CCNA实验模拟器介绍(2004版)
    CCNA专业英文词汇全集
    CCNA认证考试折扣号申请说明
    一句话Q&A:我有必要在考CCDA之前先取得CCNA认证吗?
    一句话Q&A:第一次参加Cisco考试,没有通过的话能不能重考?
    一句话Q&A:CCNA证书有效期和再认证考试怎么考?
    一句话Q&A:CCNA的培训一般是多长时间?
    一句话Q&A:CCNA和MCSE需要多少英语基础和专业基础知识?
    MCSE与CCNA的比较
    热门文章最新推荐

    版权与免责声明:
    ① 本网转载其他媒体稿件是为传播更多的信息,此类稿件不代表本网观点,版权归原作者所有,本网不承担此类稿件侵权行为的连带责任。
    ② 本站原创文章,转载时请注明出自文谷及作者姓名
    ③在本网BBS上发表言论者,文责自负。
    ④如您因版权等问题需要与本网联络,请在30日内联系 。
    SCJP考试中的线程题目分析SCJP考试中的线程题目分析2006-7-18 22:57:02SCJP考试中的线程题目分析2006-7-18 22:57:02SCJP考试中的线程题目分析
    SCJP考试中的线程题目分析SCJP考试中的线程题目分析2006-7-18 22:57:02SCJP考试中的线程题目分析2006-7-18 22:57:02SCJP考试中的线程题目分析

    全站热点
    最新推荐
    关于文谷 | 联系文谷 | 免责声明 | 文谷论坛
    Tel: 0577-65690019      E-mail: ichenjian@gmail.com    MSN:ichenjian@hotmail.com    QQ:2911194
    Copyright © 2004-2008 wengu.com 文谷 All Rights Reserved
    浙ICP备05000327号