更多“什么是线程?它产生的背景是什么?线程有几种状态?说明状态变化调用的方法。”相关问题
  • 第1题:

    在以下( )情况下,线程就进入可运行状态。

    A.线程调用了sleep()方法时

    B.线程调用了join()方法时

    C.线程调用了yield()方法时

    D.以上都是


    正确答案:C

  • 第2题:

    以下关于新建线程的叙述,正确的是( )。

    A.当线程被创建时,可以马上启动

    B.新建线程可以使用start( )、stop( )和wait( )等多个方法

    C.进入新建状态的线程,没有被分配资源

    D.新建状态的线程通过调用方法join( )可以进入阻塞状态


  • 第3题:

    线程调用sleep()方法后,该线程将进入以下哪种状态?

    A.就绪状态

    B.运行状态

    C.阻塞状态

    D.死亡状态


    答案:C

  • 第4题:

    ( 14 ) 线程由于调用 sleep() 方法进入阻塞状态 , 当睡眠结束时 , 该线程将进入 【 14 】 状态。


    正确答案:

  • 第5题:

    在以下()情况下,线程就进入可运行状态

    • A、 线程调用了sleep()方法时
    • B、 线程调用了join()方法时
    • C、 线程调用了yield()方法时
    • D、 以上都是

    正确答案:C

  • 第6题:

    对于线程的生命周期,下面四种说法正确的有哪些?()

    • A、调用了线程的start()方法,该线程就进入运行状态 (就绪,还要获得CPU使用权)
    • B、线程的run()方法运行结束或被未catch的InterruptedException等异常终结,那么该线程进入死亡状态 
    • C、线程进入死亡状态,但是该线程对象仍然是一个Thread对象,在没有被垃圾回收器回收之前仍可以像引用其它对象一样引用它
    • D、线程进入死亡状态后,调用它的start()方法仍然可以重新启动

    正确答案:B,C

  • 第7题:

    java中,新建的线程调用start( )方法、如myThread.start( ),将使线程的状态从New(新建状态)转换为()


    正确答案:可运行状态

  • 第8题:

    下面四个选项中,哪些是线程进入阻塞状态的原因?()

    • A、线程试图获取某个对象的同步锁,而该锁被其它线程持有
    • B、线程调用了另一个线程的join()方法
    • C、当线程调用了一个阻塞式的IO方法
    • D、线程调用了setDaemon(boolean b)方法

    正确答案:A,B,C

  • 第9题:

    多选题
    下面四个选项中,哪些是线程进入阻塞状态的原因?()
    A

    线程试图获取某个对象的同步锁,而该锁被其它线程持有

    B

    线程调用了另一个线程的join()方法

    C

    当线程调用了一个阻塞式的IO方法

    D

    线程调用了setDaemon(boolean b)方法


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

  • 第10题:

    单选题
    线程调用sleep()方法后,该线程将进入以下哪种状态?
    A

    就绪状态

    B

    运行状态

    C

    阻塞状态

    D

    死亡状态


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

  • 第11题:

    问答题
    什么是线程?它产生的背景是什么?线程有几种状态?说明状态变化调用的方法。

    正确答案: 线程是一个进程在执行过程中产生的多条执行线索。每个线程有它产生、存在和消亡的过程,是动态的。线程由线程内核对象和线程堆栈两部分组成,相对于组成进程的内核对象及虚拟地址空间,线程使用的系统资源比进程少得多。
    它产生的背景是:操作系统按照一定的策略(优先级、循环等)调度各个进程执行,以最大限度地利用计算机的各种资源。一个进程运行期间,拥有的主要资源包括地址空间(存放text,data,stack)、打开文件表、资源控制信息、核心栈。除了text可被其他进程共享外,上述资源都属进程私有。因此CPU从运行一个进程转换到运行另一个进程时,为进程保存、恢复的开销很大,并发效率低。如果把进程所占私有资源与进程中的运行代码相分离,在一个地址空间中便可运行多个代码段,由此产生线程概念。 线程的状态有以下四种:
    (1)创建状态(New-Thread);
    (2)运行状态(Runnable);
    (3)不可运行状态(Not-Runnable);
    (4)死亡状态(Dead)。
    对于上面4种状态,各有特定的使线程返回可运行状态的方法与之对应,如下所述:
    (1)如果线程处于睡眠状态中,sleep()方法中的参数为休息时间,当这个时间过去后,线程即为可运行的;
    (2)如果一个线程被挂起,需调用resume()方法才能返回;
    (3)如果线程在等待条件变量,那么要停止等待的话,需要该条件变量的线程对象调用notifyAll()方法;
    (4)如果在I/O流中发生线程阻塞,则特定的I/O完成可结束这种不可运行状态。 需要注意的是每种方法仅仅对相应的情况才有作用,例如当一个线程睡眠并且睡眠时间还没有结束时,调用resume()方法是无效的。
    解析: 暂无解析

  • 第12题:

    填空题
    java中,新建的线程调用start( )方法、如myThread.start( ),将使线程的状态从New(新建状态)转换为()

    正确答案: 可运行状态
    解析: 暂无解析

  • 第13题:

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

    A.线程一旦创建,则立即自动运行

    B.线程创建后需要调用start()方法,将线程置于可运行状态

    C.线程处于可运行状态,意味着它可以被调度

    D.调用线程的start()方法后,线程也不一定能立即执行


    正确答案:A

  • 第14题:

    在以下哪种情况下,线程进入就绪状态?

    A.线程调用了sleep()方法时

    B.线程调用了join()方法

    C.线程调用了yield()方法时

    D.线程调用了notify()方法


    答案:D

  • 第15题:

    线程由于调用sleep()方法进入阻塞状态,当睡眠结束时,该线程将进入______状态。


    正确答案:可运行状态(Runnable)。
    可运行状态(Runnable)。 解析:sleep()方法结束后,线程将进入可运行状态。

  • 第16题:

    在以下哪种情况下,线程进入就绪状态?()

    • A、线程调用了sleep()方法时
    • B、线程调用了join()方法(终止)
    • C、线程调用了yield()方法时
    • D、线程调用了notify()方法

    正确答案:D

  • 第17题:

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


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

  • 第18题:

    线程调用sleep()方法后,该线程将进入以下哪种状态?

    • A、就绪状态
    • B、运行状态
    • C、阻塞状态
    • D、死亡状态

    正确答案:C

  • 第19题:

    线程调用了sleep()方法后,该线程将进入()。

    • A、可运行状态
    • B、运行状态
    • C、阻塞状态
    • D、终止状态

    正确答案:C

  • 第20题:

    单选题
    线程调用了sleep()方法后,该线程将进入()。
    A

    可运行状态

    B

    运行状态

    C

    阻塞状态

    D

    终止状态


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

  • 第21题:

    单选题
    在以下()情况下,线程就进入可运行状态
    A

     线程调用了sleep()方法时

    B

     线程调用了join()方法时

    C

     线程调用了yield()方法时

    D

     以上都是


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

  • 第22题:

    填空题
    线程由于调用sleep()方法进入阻塞状态,当睡眠结束时,该线程将进入____状态。

    正确答案: 可运行/就绪/Runnable
    解析: sleep()方法允许指定以毫秒为单位的一段时间作为参数,它使得线程在指定的时间内进入阻塞状态,不能得到CPU时间,指定的时间一过,线程重新进入可运行状态。

  • 第23题:

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

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