1.继承Thread 类并重写run方法创建线程,实现起来比较简单就是不能继承其他类
Thread thread =new Thread();
thread.start();
2.实现RUnnable 接口,他和thread类一样重写run方法,这样可以避免但继承的局限性,编程更加灵活,能够实现解耦
3.实现Callable接口,需要重写call方法,他可以获取咸亨执行结果的返回值,并且可以抛出异常。
4.使用线程池创建concurrent.Excutor接口
1.继承Thread 类并重写run方法创建线程,实现起来比较简单就是不能继承其他类
Thread thread =new Thread();
thread.start();
2.实现RUnnable 接口,他和thread类一样重写run方法,这样可以避免但继承的局限性,编程更加灵活,能够实现解耦
3.实现Callable接口,需要重写call方法,他可以获取咸亨执行结果的返回值,并且可以抛出异常。
4.使用线程池创建concurrent.Excutor接口