3.守护线程 VS 用户线程
通过前面的学习我们可以创建两种不同的线程类型了,那二者有什么差异呢?接下来我们使用一个小示例来看一下。
下面我们创建一个线程,分别将这个线程设置为用户线程和守护线程,在每个线程中执行一个 for
循环,总共执行 10 次信息打印,每次打印之后休眠 100 毫秒,来观察程序的运行结果。
3.1 用户线程
新建的线程默认就是用户线程,因此我们无需对线程进行任何特殊的处理,执行 for
循环即可(总共执行 10 次信息打印,每次打印之后休眠 100 毫秒),实现代码如下:
/** * Author:Java中文社群 */ publicclass DaemonExample { public static void main(String[] args) throws InterruptedException { Thread thread = new Thread(new Runnable() { @Override public void run() { for (int i = 1; i <= 10; i++) { // 打印 i 信息 System.out.println("i:" + i); try { // 休眠 100 毫秒 Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }); // 启动线程 thread.start(); } }
以上程序执行结果如下:
从上述结果可以看出,当程序执行完 10 次打印之后才会正常结束进程。