[concurrency-interest] java fork-join getting-started notes for beginners <-> Java 7

√iktor Ҡlang viktor.klang at gmail.com
Wed Aug 17 05:12:20 EDT 2011

Hi Dan,

have you've considered introducing them to a less explicit form of
concurrency like Actors, ActiveObjects or Dataflow?


On Wed, Aug 17, 2011 at 12:00 AM, Dan Grossman <djg at cs.washington.edu>wrote:

> Short version:
> I'm looking for quick confirmation that using the fork-join framework
> with the Java 7 JRE is just as easy as it seems and that I'm pointing
> students to the right stable versions of things.
> Long version:
> Background:
> As I've mentioned on this list a couple times, I've developed a
> course-unit for second-year undergraduates that introduces parallelism
> and concurrency using Java and the Fork-Join Framework (though it's
> not really that Java-specific).  At Washington, we've used this unit
> in our required data-structures course for 1.5 years now and it's been
> picked up by 5 other schools so far.  In all, 10 instructors, most
> non-experts in Java, parallelism, or both have used it and they all
> claim success and, "I will do this again."  For more information,
> http://www.cs.washington.edu/homes/djg/teachingMaterials/spac/
> One thing that has proven absolutely essential is step-by-step
> instructions suitable for beginners, specialized to just what they
> need: ForkJoinPool, RecursiveTask, RecursiveAction.  This was
> particularly important for Java 1.6.  The url
> http://www.cs.washington.edu/homes/djg/teachingMaterials/spac/grossmanSPAC_forkJoinFramework.html
> has these instructions and was last updated a few months ago.  For
> those of you who have not taught undergraduates, let me assure you
> that there are, nonetheless, a mind-boggling number of ways to enter
> -Xbootclasspath/p:jsr166.jar incorrectly. :-)
> So what now:
> It seems time to update my step-by-step instructions to say:
>  1. Please use Java 7 following steps a, b, c.
>  2. If you really can't, then here are the more complicated steps for
> using Java 6 following steps, d, e, f, g.
> In preparation for this, I downloaded JDK 7 onto a [Windows 7, 64-bit]
> machine that has never had Java on it, installed Eclipse IDE for Java
> Developers, indigo release (my instructions prefer but don't mandate
> eclipse), set the Java Project JRE to JavaSE-1.7, and ran the attached
> file.  It Just Worked.  This is So Wonderful and I send my heartfelt
> appreciation to everyone on this list who helped make it happen.
> Now my questions -- I think the answers are all 'yes' but this is the
> place to confirm and I'm most concerned about (C):
> A. Java 7: Is this the real deal -- the framework will use the
> available processors and, after suitable VM warmup, be the parallel
> execution engine we expect?
> B. Installation: Will upgrading on machines that already have Java 6
> be just as seamless?
> C. Code: Is the attached file the way to show things to beginners?
> (Note: My point is to show them the reduction explicitly rather than
> using a library method.  This is for pedagogical purposes.  So no
> complaining about that.)
> D. Eclipse: When choosing JavaSE1-1.7, Eclipse Indigo release warns,
> "The 1.7 compiler compliance level
>   is not yet supported.  The new project will use a project specific
> compiler compliance level of 1.6".  Am I correct that this can be
> ignored since I'm not using any new /language/ features, just a new
> /library/? (Note: My understanding is there are Eclipse versions
> available with 1.7 compilers, but if we're okay with the most standard
> most stable Eclipse release, this is extremely helpful.)
> E: Anything else I can do to make this as bullet-proof for beginners
> as possible?
> Thanks!
> --Dan
> _______________________________________________
> Concurrency-interest mailing list
> Concurrency-interest at cs.oswego.edu
> http://cs.oswego.edu/mailman/listinfo/concurrency-interest

Viktor Klang

Akka Tech Lead
Typesafe <http://www.typesafe.com/> - Enterprise-Grade Scala from the

Twitter: @viktorklang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20110817/f7213631/attachment-0001.html>

More information about the Concurrency-interest mailing list