mahout-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sean Owen <sro...@gmail.com>
Subject Re: Possible multi thread issue in AbstractDifferenceRecommenderEvaluator
Date Fri, 24 Sep 2010 06:56:01 GMT
Ah you're right. It says:

"Executes the given tasks, returning a list of Futures holding their
status and results when all complete. Future.isDone() is true for each
element of the returned list."

... which reads to me like "when all complete" modifies "holding"
rather than "returning". Quite changes the meaning. Yes I looked
inside the implementation and it does wait on all results.

The original snippet makes more sense now, since i had written the comment:
// Go look for exceptions here, really

Calling get() is just about looking for exceptions, rather than
waiting on the result. OK, that much was sensible then, but then
isDone() counteracts that.

So it does need to go to accomplish its purpose (good, that was the
last change). Now it should properly report exceptions.


I'm still guessing the original behavior is due to an exception. This
would make that turn up directly.


On Fri, Sep 24, 2010 at 7:43 AM, Ted Dunning <ted.dunning@gmail.com> wrote:
> I think not.  See
> http://download.oracle.com/javase/6/docs/api/java/util/concurrent/ExecutorService.htmlfor
> a definition of invokeAll.

Mime
View raw message