[面试]java创建线程有几种方式?
2017-01-23 21:26
253 查看
一、继承Thread类创建线程子类
1.在这子类中重写run方法,在run方法内写线程任务代码2.创建该子类实例,即是创建了一个线程实例
3.调用该实例的start方法来启动该线程
二、建一个类去实现Runnable接口
1.该类去实现接口的run方法,run方法内写线程任务代码2.创建该类实例,把该实例当作一个标记target传给Thread类,如:Thread t = new Thread(该类实例);即创建一个线程对象
3.调用线程的start方法来启用该线程.
三、通过Callable 接口和 RunnableFuture创建线程
Callable<Integer> cl = new Callable<Integer>(){ public Integer call() throws Exception { //业务逻辑... return null; } }; FutureTask<Integer> ft = new FutureTask<Integer>(cl); //实现了RunnableFuture 接口 Thread t = new Thread(ft); t.start();
优劣:
二、三两种方式是实现某接口,可以去继承其他类,操作相对灵活,并且能多个纯种共享一个对象Thread t = new Thread(ft);里面的ft对象能多个线程共享,劣势是编程相对复杂一种方式是继承Thread类,不能再继承其他类,编程相对简单
相关文章推荐
- java多线程之线程创建的几种方式
- java创建线程的几种方式
- Java复习:创建线程的的几种方式
- java中创建线程的的几种方式
- java中创建线程的的几种方式
- [Android面试]Java创建线程的两种方式
- Java创建线程的几种方式
- Java中创建线程的几种方式以及线程同步的几种方式
- java 创建线程的几种方式
- Java多线程编程小结+java中创建线程的的几种方式
- java多线程与并发之创建线程的几种方式
- 创建线程有几种方式和Java中常用的线程池
- java多线程总结一: 线程的两种创建方式及优劣比较
- 黑马程序员_java创建线程的两种方式
- java 创建线程方式一继承Thread类
- java创建timestmp的几种方式
- java创建线程的三种方式
- 从设计的角度讨论Java中线程的两种创建方式
- java创建线程的两种传统方式