`
arganzheng
  • 浏览: 101607 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Java主线程与子线程的通信

阅读更多

Java主线程与子线程的通信

2010--5-14

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

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

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

通常只有使用Callable接口才可能返回结果给主线程。
Callable是一个接口,与Runnable类似,包含一个必须实现的方法,可以启动为让另一个线程来执行。不过Callable工作完成后,可以传回结果对象。Callable接口的定义如下:
public interface Callable<V> {
    V call() throws Exception;
}

前提是保证几个线程同时new一个对象得到的是不同的地址空间,否则并发情况还是存在的。这个需要JDK确保。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics