Java主线程与子线程的通信

来源:互联网 发布:mac翻墙软件免费 编辑:程序博客网 时间:2024/05/22 17:08

 

Java主线程与子线程的通信

2010--5-14

1. 主线程通过传递内存地址给子线程,子线程直接操作该内存地址

通常使用Runnable接口,一般只能使用这种方式,因为Runnable接口无返回值。
对于这种情况如果传递同样的地址空间给各个子线程,那么需要考虑并发访问情况。

2. 子线程通过返回值告诉主线程执行结果

通常只有使用Callable接口才可能返回结果给主线程。
Callable是一个接口,与Runnable类似,包含一个必须实现的方法,可以启动为让另一个线程来执行。不过Callable工作完成后,可以传回结果对象。Callable接口的定义如下:
public interface Callable<V> {
    V call() throws Exception;
}
前提是保证几个线程同时new一个对象得到的是不同的地址空间,否则并发情况还是存在的。这个需要JDK确保。

 

原创粉丝点击