首页天道酬勤实现callable,callablelambda

实现callable,callablelambda

张世龙 05-05 20:42 84次浏览

Runnable:接口,用于定义抽象方法run (。 要通过实现Runnable接口来创建多线程,请(创建最本质的线程方法)1)定制类以实现Runnable接口,然后在类中实现run )方法

2 )创建自定义类的对象。

3 )创建线程Thread对象,并将自定义类对象作为构造函数参数进行入侵。

4 )从线程Thread对象调用start ()方法,启动线程,运行run ) )方法。

说明:1)如果通过自定义类继承Thread方法实现多线程,自定义类将重写run (),然后创建自定义类对象并调用start ) (以及run ) )。

2 ) Thread类本身实现Runnable接口,Thread类自然实现抽象方法run (),如下所示:

@Override public void run () if(target!=null () { target.run ); target是Runnable接口实现类的对象。 公共thread (可运行目标) init(null,target,' Thread-' nextThreadNum ),0 ); } 3) Thread类实现的是Runnable接口,而我们的自定义类实现的是Runnable接口及其抽象方法run (),在创建自定义类对象后进行Thread控制

Callable :定义抽象方法call (的接口。 此方法具有返回值、异常机制。 要通过实现Callable接口创建多线程; 1 )创建实现callable接口的实现类,在此实现类中实现call ) ),并声明线程必须执行的操作。

2 )创建上述实现类对象,并将此对象作为FutureTask类构造函数参数创建FutureTask类对象

3 )创建Thread类对象,将FutureTask对象作为构造函数参数传递,然后调用start ()

说明:1) Runnable和Callable处于同一级别,两者都有抽象函数。 run ()和call ) )。 后者的函数更强大,因为它具有返回值,可以抛出异常并支持通用性。

2 ) FutureTask实现了RunnableFuture接口; RunnableFuture接口继承Runnable接口。 代码如下。

publicclassfuturetaskvimplementsrunnablefuturevpublicinterfacerunnablefuturevextendsrunnable,FutureV FutureTask间接进入随机访问

3 )等待办理手续。

创建多线程的第三种方法是继承Thread类。 1 )创建类以继承Thread类并实现run ) )方法

2 )创建上面类的对象,从对象调用start (),打开新线程,执行run ) )方法主体

options,futures and other,future task