[英]Java Threading accessing object
我有一个执行线程的功能
Public Class Connector{
private static void anyFileConnector() {
// Starting searching Thread
traverse.executeTraversing();
}
}
public class Traverse {
private synchronized void executeTraversing(Path dir) {
ExecutorService executor = Executors.newFixedThreadPool(1);
// Doing some operation
executor.submit(newSearch);
}
}
} catch (IOException | DirectoryIteratorException x) {
// IOException can never be thrown by the iteration.
} finally {
executor.shutdown();
}
}
}
public class Search implements Runnable {
private List<ResultBean> result = new ArrayList<ResultBean>();
public void run() {
synchronized (Search.class) {
// In this Search Method i am setting above list "result"
this.search();
}
}
我希望在具有最少代码更改的“ executeTraversing”方法之后紧接我的Connector类中的“结果”对象。 到达那里的最好方法是什么。
以上所有类均在不同的程序包中。
我不知道,我怎么也可以用Google :(
如果希望线程返回值(即所需的对象),则应考虑将对象重构为实现Callable()而不是Runnable(),并使用Future类返回值。
这可能有助于举个例子: http : //www.vogella.com/articles/JavaConcurrency/article.html#futures
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.