一、继承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中创建线程的三种主要方法:继承Thread类、实现Runnable接口及使用Callable接口配合FutureTask。每种方法都有其适用场景与优劣点,适合初学者快速上手并为进阶打下基础。
4万+

被折叠的 条评论
为什么被折叠?



