Java并发编程类学习一(线程的定义)

Runnable

定义线程的接口,只有一个run()方法,而且没有返回值。一般通过实现这个接口来定义线程。

public interface Runnable {
    public abstract void run();
} 

经常可以用匿名内部类实现:

        new Thread(new Runnable(){
            @Override
            public void run() {
                execute(arg);
            }

        }).start();  

Thread

Thread实现了Runnable,是线程功能实现的类。可以通过继承Thread实现自己线程的功能,主要重写run()方法。
通过继承实现会牺牲一定的灵活性,因为Java只支持单继承。
注意启动线程的时候是调用Thread.start(),而不是Thread.run().

public class Thread implements Runnable 

Callable

也是定义线程类型的接口,只有call()方法,有返回值。 与Runnable不同的是,它也返回线程执行后的结果,可以接受异常的检查。

public interface Callable<V> {
    /** * Computes a result, or throws an exception if unable to do so. * * @return computed result * @throws Exception if unable to compute a result */
    V call() throws Exception;
}

你可能感兴趣的:(java,并发)