java中创建线程有两种方式: 1.继承Thread类,重写run()方法,如: public class MyThread extends Thread { public void run(){ System.out.println("MyThread is running......."); } } 注意:不能直接调用run()方法,直接调用run方法并不会创建一个新线程,须通过start()方法启动. 2.实现Runnable接口中的run()方法. public class M…
JAVA多线程之UncaughtExceptionHandler——处理非正常的线程中止 背景 当单线程的程序发生一个未捕获的异常时我们可以采用try....catch进行异常的捕获,但是在多线程环境中,线程抛出的异常是不能用try....catch捕获的,这样就有可能导致一些问题的出现,比如异常的时候无法回收一些系统资源,或者没有关闭当前的连接等等. package com.exception; public class NoCaughtThread { public static void…