参考答案和解析
正确答案:C
更多“当一个应用程序的所有非守护线程终止运行时,但仍然有守护线程在运行,应用程序将 ()。A.运行B.阻塞 ”相关问题
  • 第1题:

    当一个应用程序的所有非守护线程终止运行时,若仍然有守护线程在运行,应用程序将______。

    A.运行

    B.阻塞

    C.终止

    D.休眠


    正确答案:C
    解析: 守护线程一般用于在后台为其他线程提供服务。可以通过调用isDaemon( )方法判断一个线程是否是守护线程,也可以调用方法setDaemon( )来将一个线程设置为守护线程。

  • 第2题:

    当生成守护线程的线程结束时,此守护线程会随之消失()。


    正确

  • 第3题:

    在多对一的线程模型中,当一个多线程进程的某个线程被阻塞后()。

    A.该进程的其他线程仍可继续运行

    B.整个进程都将被阻塞

    C.该阻塞线程将被撤销

    D.该阻塞线程将永远不可能在执行


    整个进程都将被阻塞

  • 第4题:

    当一个应用程序的所有非守护线程终止运行时,但仍然有守护线程在运行,应用程序将( )。 A.运行S

    当一个应用程序的所有非守护线程终止运行时,但仍然有守护线程在运行,应用程序将( )。

    A.运行

    B.阻塞

    C.终止

    D.休眠


    正确答案:C
    C。【解析】本题考查线程的机制。守护线程是一类特殊的线程.它和普通线程的区别在于它并不是应用程序的核心部分,当一个应用程序的所有非守护线程终止运行时,即使仍然有守护线程在运行,应用程序也将终止;反之,只要有一个非守护线程在运行,应用程序就不会终止。守护线程一般被用于在后台为其他线程提供服务。可以通过调用方法isDaemon来判断一个线程是否是守护线程,也可以调用方法setDaemon来将一个线程设为守护线程。

  • 第5题:

    守护行程也叫________,非守护线程也叫 ________


    所谓“守护线程(daemonthread)”是指,只要程序还在运行,它就应该在后台提供某种公共服务的线程,但是守护线程不属于程序的核心部分。因此,当所有非守护线程都运行结束的时候,程序也结束了。相反,只要还有非守护线程在运行,程序就不能结束。事实上,“守护线程”和“非守护线程”本质上并没有什么区别,只是JVM对其控制的方式有所不同而已。主要表现在:第一,守护线程一般是在后台提供某种服务,而非程序核心部分的线程,所以它的优先级最低。这意味着JVM会尽量先调度那些非守护线程运行。第二,程序中所有非守护线程都已结束运行时,程序就结束。