达内学网站开发培训课程,企业信息系统规划,vps网站被镜像,水果网站建设案例一般有三种方法#xff0c;Thread,Runnable,Callable.Runnable和Callable的区别(1)Callable规定的方法是call(),Runnable规定的方法是run().(2)Callable的任务执行后可返回值#xff0c;而Runnable的任务是不能返回值得(3)call方法可以抛出异常#xff0c;run方法不可以(4)运…一般有三种方法Thread,Runnable,Callable.Runnable和Callable的区别(1)Callable规定的方法是call(),Runnable规定的方法是run().(2)Callable的任务执行后可返回值而Runnable的任务是不能返回值得(3)call方法可以抛出异常run方法不可以(4)运行Callable任务可以拿到一个Future对象表示异步计算的结果。它提供了检查计算是否完成的方法以等待计算的完成并检索计算的结果。通过Future对象可以了解任务执行情况可取消任务的执行还可获取执行结果。**通过实现Runnable接口来创建Thread线程步骤1创建实现Runnable接口的类class SomeRunnable implements Runnable{public void run(){//do something here}}步骤2创建一个类对象Runnable oneRunnable new SomeRunnable();步骤3由Runnable创建一个Thread对象Thread oneThread new Thread(oneRunnable);步骤4启动线程oneThread.start();注释线程的执行流程很简单当执行代码oneThread.start();时就会执行oneRunnable对象中的void run();方法该方法执行完成后线程就消亡了。**通过实现Callable接口来创建Thread线程与方法1类似通过实现Callable接口来创建Thread线程其中Callable接口(也只有一个方法)定义如下Java代码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();至此一个线程就创建完成了。**通过继承Thread类来创建一个线程步骤1定义一个继承Thread类的子类Java代码class SomeThead extends Thraad{public void run(){//do something here}}步骤2构造子类的一个对象SomeThread oneThread new SomeThread();步骤3启动线程oneThread.start();至此一个线程就创建完成了。