niusouti.com
更多“java 中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?”相关问题
  • 第1题:

    方法resume()负责恢复哪些线程的执行( )。

    A.通过调用stop()方法而停止的线程

    B.通过调用sleep()方法而停止运行的线程

    C.通过调用wait()方法而停止运行的线程

    D.通过调用suspend()方法而停止运行的线程


    正确答案:D
    解析:本题是考查线程中能引起resume()方法调用的情况,在Thread的API文档中的说明是该方法恢复被挂起的(suspendeD) 线程。该方法首先调用该线程的无参的checkAccess()方法,这可能在当前线程上抛出SecurityExcep tion异常,如果该线程是活着的(alive)但被挂起(suspenD) ,则它被恢复并继续执行。

  • 第2题:

    多线程有几种实现方法?同步有几种实现方法?


    正确答案:

     

    多线程有两种实现方法,分别是继承Thread 类与实现Runnable 接口

    同步的实现方面有两种,分别是synchronized,wait 与notify

    wait():使一个线程处于等待状态,并且释放所持有的对象的lock。

    sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉

    InterruptedException 异常。

    notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤

    醒某一个等待状态的线程,而是由JVM 确定唤醒哪个线程,而且不是按优先级。

    Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,

    而是让它们竞争。

  • 第3题:

    下列______方法和resume()方法相互搭配,使线程停止执行,然后调用resume()方法恢复线程。 ( )

    A.interrupt()

    B.stop()

    C.suspend()

    D.yield()


    正确答案:C
    解析:在Thread的API文档中的说明是resume()方法恢复被挂起(suspended ())的线程。所以说suspend()方法和resume ()方法相互搭配,使线程停止执行,然后调用 resume()方法恢复线程。

  • 第4题:

    下列哪个方法和resume( )方法相互搭配,使线程停止执行,然后调用resume( )方法恢复线程?

    A.interrupt( )

    B.stop( )

    C.suspend( )

    D.yield( )


    正确答案:C
    解析:在一个线程中调用t.suspend(),将使线程t暂停执行,要想恢复线程,必须由其他线程调用t.resume()恢复t的执行。不提倡这两种方法,容易产生死锁。

  • 第5题:

    下列方法中可以用来创建一个新线程的是( )。 A.实现java.lang.Runnable接口并重写start方法SX

    下列方法中可以用来创建一个新线程的是( )。

    A.实现java.lang.Runnable接口并重写start方法

    B.实现java.lang.Runnable接口并重写run方法

    C.继承java.lang.Thread类并重写run方法

    D.实现java.lang.Thread类并实现start方法


    正确答案:C
    C。【解析】本题考查考生对创建线程的使用。创建线程有两种方法:通过实现Runnable接口创建线程和通过继承Thread类创建线程。通过实现Runnable接口创建线程,当实现Runnable接口的类的对象用来创建线程以后,该线程的启动将使得对象的run方法被调用。通过继承Thread类创建线程,可以通过继承Thread类,并重写其中的run方法定义线程体,然后创建该子类的对象创建线程。线程创建是考试重点内容,请务必掌握。

  • 第6题:

    resume( )方法负责恢复被哪个方法挂起的线程?

    A.stop( )

    B.sleep( )

    C.wait( )

    D.suspend( )


    正确答案:D
    解析:程中调用suspend()方法使线程挂起,暂停执行,如果恢复此线程必须调用resume()方法使其进入可运行态。

  • 第7题:

    多线程有几种实现方法,线程间同步有几种实现方法,都是什么?


    正确答案: 两种实现方法,一种是继承Thread,另外一种是实现接口Runnable。同步的实现方法有两种,分别是synchronized,wait与notify。用synchronized可以对一段代码、一个对象及一个方法进行加锁。用wait与notify可以使对象处于等待及唤醒方式导致同步,因为每个对象都直接或间接的继承了Object类。

  • 第8题:

    JAVA线程编程中,如果让线程睡眠,可以用()方法实现。

    • A、start();
    • B、close();
    • C、setDaemon();
    • D、sleep();

    正确答案:D

  • 第9题:

    所谓线程同步就是若干个线程都需要使用同一个synchronized修饰的方法。


    正确答案:正确

  • 第10题:

    关于同步关键字的说法错误的是()

    • A、如果一个线程在执行同步方法时没有执行完毕代码就耗尽了时间片,其他线程在获得了运行权之后就可以运行了。
    • B、为防止时间片耗尽导致的代码没有完全执行完毕的情况发生,可以考虑利用同步关键字。
    • C、利用同步关键保证只有当一个线程彻底执行完方法后,其他线程才能运行该方法。
    • D、等待失去时间片的线程执行完毕代码后,才能访问该方法。

    正确答案:A

  • 第11题:

    单选题
    判断下列语句哪个正确()。
    A

    在线程休眠时,sleep方法会占用处理器时间

    B

    将方法声明为synchronized,就可以确保不会发生死锁

    C

    不提倡使用Thread类的suspend方法,resume方法和stop方法

    D

    以上描述都正确


    正确答案: C
    解析: 暂无解析

  • 第12题:

    单选题
    如果要安全地终止一个线程t,可以采用的正确方法是(  )。
    A

    调用t.stop()方法

    B

    可以使用标志flag,通过设置flag通知线程t结束

    C

    调用t.suspend()方法

    D

    调用t.yield()方法


    正确答案: C
    解析:
    中断线程比较安全的做法是引入共享变量,所以使用标志flag,通过设置flag通知线程t结束是最好的办法。stop()方法是强制当前线程停止运行,并抛出ThreadDead错误。suspend()方法是临时挂起当前线程。yield()方法是使当前执行线程暂时停止执行而让其他线程运行。Thread.stop,Thread.suspend,Thread.resume和Runtime.runFinalizers()nExit这些终止线程运行的方法已经被废弃,使用它们是极端不安全的。

  • 第13题:

    在java.lang.object中,存在两个可以完成线程同步,并且实现线程通信的方法,它们是( )。

    A.start()和stop()

    B.wait()和notify()

    C.suspend()和resume()

    D.setDaemon()和isDaemon()


    正确答案:B
    解析:在java.lang.object中,实现线程通信有两个方法:wait ()和notify (),它们可以完成线程间同步。其中wait ()方法使线程等待,并且暂时释放其占有的对象锁。notify ()方法通知因调用wait ()方法而等待的线程重新占有该对象锁。

  • 第14题:

    resume( )方法负责恢复被( )方法挂起的线程。

    A.stop( )

    B.sleep( )

    C.wait( )

    D.suspend( )


    正确答案:D

  • 第15题:

    resume方法恢复( )的执行。

    A.通过调用stop方法而停止的线程

    B.通过调用sleep方法而停止运行的线程

    C.通过调用wait方法而停止运行的线程

    D.通过调用suspend方法而停止运行的线程


    正确答案:D
    D。【解析】本题考查resume方法的使用。在Thread的API文档中的说明是该方法恢复被挂起(suspende)的线程。该方法首先调用该线程的无参的checkAccess方法,这可能在当前线程上抛出SecurityExeeption异常,如果该线程是活着的(alive)但被挂起(suspend),它被恢复并继续它的执行进程。

  • 第16题:

    多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?


    正确答案:

    1第一种解答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口
    同步的实现方面有两种,分别是synchronized,wait与notify

    2第二种解答:有人提出也可以这样:多线程 1. 继承 Thread 类 2. 实现 Runnable 接口再 new Thread(YourRunnableOjbect) 推荐 线程同步 1. 用 synchronized 修饰需要同步的方法 2. 用 synchronized 块包围需要同步的语句 3. 使用 java.util.concurrent 包中的各种同步锁

  • 第17题:

    下列说法中错误的一项是______。

    A.通过执行Thread.currentThrea《)返回当前线程的引用

    B.currentThread()方法是静态方法

    C.stop()方法强行终止线程的执行,线程结束后,仍然可以再运行

    D.线程a通过a.suspend()方法暂停执行,通过调用a.resume()恢复执行


    正确答案:C

  • 第18题:

    判断下列语句哪个正确()。

    • A、在线程休眠时,sleep方法会占用处理器时间
    • B、将方法声明为synchronized,就可以确保不会发生死锁
    • C、不提倡使用Thread类的suspend方法,resume方法和stop方法
    • D、以上描述都正确

    正确答案:D

  • 第19题:

    如果不能很好的控制线程的运行和停止,容易引起死锁。下列()方法是安全的线程停止方法。

    • A、stop()
    • B、suspend()
    • C、interrupt()
    • D、轮询循环

    正确答案:D

  • 第20题:

    下列()方法可以使线程停止。

    • A、close()
    • B、interrupt()
    • C、stop()
    • D、suspend

    正确答案:C,D

  • 第21题:

    方法resume负责重新开始()线程的执行。

    • A、被stop()方法停止
    • B、被sleep()方法停止
    • C、被wait()方法停止
    • D、被suspend()方法停止

    正确答案:D

  • 第22题:

    单选题
    方法resume负责重新开始()线程的执行。
    A

    被stop()方法停止

    B

    被sleep()方法停止

    C

    被wait()方法停止

    D

    被suspend()方法停止


    正确答案: B
    解析: 暂无解析

  • 第23题:

    问答题
    多线程有几种实现方法,线程间同步有几种实现方法,都是什么?

    正确答案: 两种实现方法,一种是继承Thread,另外一种是实现接口Runnable。同步的实现方法有两种,分别是synchronized,wait与notify。用synchronized可以对一段代码、一个对象及一个方法进行加锁。用wait与notify可以使对象处于等待及唤醒方式导致同步,因为每个对象都直接或间接的继承了Object类。
    解析: 暂无解析