• 20145209刘一阳《JAVA程序设计》第八周课堂测试


    第八周课堂测试

    1、下面代码中共有(C)个线程?

    public class ThreadTest {
        public static void main(String args[]){
            MyThread myThread =new MyThread();
            Thread t1=new Thread(myThread);
            Thread t2=new Thread(myThread);
            t1.start();
            t2.start();
        }
    }
    class MyThread extends Thread {
        ...
    }
    

    A .1

    B .2

    C .3

    D .4

    2、Java中,可以继承(B)类定义线程

    A .Runnable

    B .Thread

    C .Future

    D .Executor

    3、以下(AB)方法会使线程进入阻塞状态?

    A .Thread.sleep()

    B .wait()

    C .notify()

    D .interrupt()

    4、如果有以下代码段:

    Thread thread = new Thread(new ________________() {
    	public void run() {...} 
    });
    

    空白部分指定哪些类型可以通过编译?(AB)

    A .Runnable

    B .Thread

    C .Future

    D .Executor

    5、调用线程的interrupt()方法 ,会抛出(CD)异常对象?

    A .IllegalStateException

    B .RuntimeException

    C .InterruptedException

    D .SecurityException

    6、下列哪个叙述是错误的?(A)

    A .线程新建后,不调用start方法也有机会获得CPU资源

    B .如果两个线程需要调用同一个同步方法,那么一个线程调用该同步方法时,另一个线程必须等待。

    C .目标对象中的run方法可能不启动多次

    D .默认情况下,所有线程的优先级都是5级。

    7、对于下列程序,哪个叙述是正确的?(A)

    public class E { 
       public static void main(String args[]) { 
           Target target =new Target();
           Thread thread =new Thread(target);
           thread.start();
       }
    }
    class Target implements Runnable{
        public void run(){
           System.out.println("ok");
        }
    }
    

    A .JVM认为这个应用程序共有两个线程。

    B .JVM认为这个应用程序只有一个主线程。

    C .JVM认为这个应用程序只有一个thread线程。

    D .thread的优先级是10级。

    8、对于下列程序,哪个叙述是正确的?(B)

    A .JVM认为这个应用程序共有两个线程。

    B .JVM认为这个应用程序只有一个主线程。

    C .JVM认为这个应用程序只有一个thread线程。

    D .程序有编译错误,无法运行。

    9、进程和程序的一个本质区别是(A)

    A .前者为动态的,后者为静态的。

    B .前者存储在内存,后者存储在外存。

    C .前者在一个文件中,后者在多个文件中。

    D .前者分时使用CPU,后者独占CPU。

    10、进程的基本状态有:新建、运行、阻塞、死亡。(A)

    A .true

    B .false

    11、下列说法正确的是(ABD)

    A .Java语言的一大特性就是内置对多线程的支持。

    B .main方法返回时,JVM就会结束Java应用程序。

    C .Java应用程序中第一个线程结束后,JVM结束Java应用程序。

    D .Java语言使用Thread类及其子类对象来表示线程。

    12、下列关于线程状态与生命周期的说法,错误的是(BC)

    A .在线程没有结束run()方法之前,不要让线程再调用start()方法,否则将发生IllegalThreadStateException异常。

    B .run()方法负责通知JVM有新的线程等候切换。

    C .执行sleep()结束后,该线程进入运行状态,得到CPU的使用权。

    D .进入阻塞状态时,线程不能进入排队队列。

    13、JVM的线程调度器的任务是使高优先级的线程能始终运行,一旦时间片有空闲,则使具有同等优先级的线程以轮流的方式顺序使用时间片。(A)

    A .true

    B .false

    14、下列关于setPriority方法的说法,错误的是(C)

    A .该方法更改线程的优先级。

    B .该方法传入的参数为,要为线程设定的优先级。

    C .该方法首先调用线程的 checkAccess 方法,且不带任何参数。这可能抛出IllegalArgumentException异常。

    D .如果优先级不在MIN_PRIORITY到MAX_PRIORITY范围内,则抛出IllegalArgumentException异常。

    15、当线程使用CPU资源的时间到时后,即使线程没有完成自己的全部操作,Java调度器也会中断当前线程的执行,把CPU的使用权切换给下一个排队等待的线程。(A)

    A .true

    B .false

    16、下列关于守护线程的说法,正确的是(ABCD)

    A .thread.setDaemon(true)必须在thread.start()之前设置,否则会报IllegalThreadStateException异常。

    B .如果用户线程已经全部退出运行,只剩下守护线程存在,那么虚拟机也就退出了。

    C .将线程转换为守护线程可以通过调用Thread对象的setDaemon(true)方法来实现。

    D .守护线程应该永远不去访问固有资源,如文件、数据库,因为它会在任何时候甚至在一个操作的中间发生中断。

    17、不可以在非同步方法中使用wait()、notify()、notifyAll()。(A)

    A .true

    B .false

    18、下列关于线程常用的方法的叙述,错误的是(CD)

    A .让run方法执行完毕,线程就变成死亡状态。

    B .如果线程在休眠时被打断,JVM会抛出InterruptedException异常。

    C .一个已运行的线程没有进入死亡状态时,如果再给线程分配实体,则先前的实体会被垃圾收集器收集掉。

    D .当线程进入死亡状态后,线程就不能够调用isAlive()方法了。

    19、线程在新建和死亡状态,调用isAlive()方法返回的值是false。(A)

    A .true

    B .false

    20、以下代码中有两个线程:(B)

    public class E { 
       public static void main(String args[]) { 
           Target target =new Target();
           Thread thread =new Thread(target);
           target.run();
           for(int i= 0;i<=10;i++) {
             System.out.println("yes");
             try{  Thread.sleep(1000);
             }
             catch(InterruptedException exp){}
          }
        }
    }
    class Target implements Runnable{
        public void run() {
           for(int i= 0;i<=10;i++) {
             System.out.println("ok");
             try{
                  Thread.sleep(1000);
             }
             catch(InterruptedException exp){}
           }
        }
    }
    

    A .true

    B .false

  • 相关阅读:
    python list添加元素的几种方法
    Python ---- list和dict遍历
    python 之 collections
    python list 中元素的统计与排序
    pandas dataframe 读取 xlsx 文件
    Python 缓存机制与 functools.lru_cache(zz)
    pip 使用
    python 中的异常处理
    python 时间日期处理
    python read txt file
  • 原文地址:https://www.cnblogs.com/liuyiyang/p/9185757.html
Copyright © 2020-2023  润新知