java中创建线程有哪几种方法呢?
下文笔者讲述java中创建线程的方法分享,如下所示:
实现方式: 1.继承Thread类,重写run()方法,run()方法代表线程要执行的任务。 2.实现Runnable接口,重写run()方法,run()方法代表线程要执行的任务。 3.实现callable接口,重写call()方法,call()作为线程的执行体 具有返回值,并且可以对异常进行声明和抛出
通过继承Thread类来创建一个线程
1:定义一个继承Thread类的子类: class OneThread extends Thraad { public void run() { //do something here } } 2:构造子类的一个对象: OneThread oneThread = new OneThread(); 步骤3:启动线程: oneThread.start();
通过实现Runnable接口来创建Thread线程
1:创建实现Runnable接口的类: class OneRunnable implements Runnable { public void run() { //do something here } } 2:创建一个类对象: Runnable oneRunnable = new OneRunnable(); 3:由Runnable创建一个Thread对象: Thread oneThread = new Thread(oneRunnable); 4:启动线程: oneThread.start(); 当运行完毕后,线程则消失
通过Callable和Future创建线程
(1)创建Callable接口的实现类,并实现call()方法,该call()方法将作为线程执行体,并且有返回值。 (2)创建Callable实现类的实例,使用FutureTask类来包装Callable对象,该FutureTask对象封装了该Callable对象的call()方法的返回值。 (3)使用FutureTask对象作为Thread对象的target创建并启动新线程。 (4)调用FutureTask对象的get()方法来获得子线程执行结束后的返回值其中,Callable接口(也只有一个方法)定义如下: public interface Callable { V call() throws Exception; } 1:创建实现Callable接口的类SomeCallable(略); 2:创建一个类对象 Callable oneCallable = new SomeCallable(); 3:由Callable创建一个FutureTask对象 FutureTask oneTask = new FutureTask(oneCallable); 注释: FutureTask是一个包装器,它通过接受Callable来创建,它同时实现了 Future和Runnable接口。 4:由FutureTask创建一个Thread对象 Thread oneThread = new Thread(oneTask); 5:启动线程 oneThread.start();
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。