多线程基础杂谈

    xiaoxiao2021-03-25  155

    Daemon:(守护)线程主要用于程序中后台调度以及支持性工作,如垃圾回收线程等。当JVM中仅剩下Daemon线程时,JVM将会退出。 Thread:定义线程对象时,应给其指定名称,方便分析和排查问题。线程对象初始化时,部分属性默认来自于当前线程,即父前程,如优先级、群组、daemon等。

    public static void main(String[] args) throws InterruptedException { Thread thread = new Thread(new Runnable() { @Override public void run() { System.out.println("=============="); } }, "TestThread"); thread.setDaemon(true);//需在start()前调用 thread.start(); }

    中断线程:

    Thread.interrupted(),设置当前线程的中断状态标示位为true。阻塞函数,如:Thread.sleep、Thread.join、Object.wait、LockSupport.park等在检查到线程的中断状态时,会抛出InterruptedException,同时会清除线程的中断状态,即将其设置为false

    通过【线程对象.isInterrupted()】来判断线程的中断状态。注意:如果线程已经运行结束,则中断状态为false。

    参考:关于Java的Daemon线程的理解 参考:java线程中的interrupt,isInterrupt,interrupted方法
    转载请注明原文地址: https://ju.6miu.com/read-11937.html

    最新回复(0)