The approach to parallel programming is fairly standard via parallel data structures. A single new ParallelArray object provides all of the new behaviour needed. You can convert a standard array, including a Canvas pixel array, into a ParallelArray or create a new object using raw data. Once you have a ParallelArray you can operated on it using new parallel methods such as map, reduce, combine, filter etc. All synchronization and locking is taken care of automatically.
You can see River Trail in action in an application that is closer to a 3D game in the following video, but the sound quality is poor.
The first issue of a new open access journal with the title The Art, Science, and Engineering of Programming is now available on arxiv.org. It is published under the auspices of AOSA in conjuncti [ ... ]