by Paul King
This talk looks at using Groovy for multi-threaded, concurrent and
grid computing. It covers everything from using processes, multiple
threads, the concurrency libraries ear-marked for Java 7, functional
programming, actors including GPars, as well as map/reduce, grid
and cloud computing frameworks. We'll look at leveraging Java techniques
as well as Groovy specific approaches.
Multiple Processes with Ant, Java and Groovy
Multiple threads - Java and Groovy support
The java.util.concurrent APIs, Fork/Join, Atomicity and more
Useful Java libraries: Google collections and others
Actor/Dataflow libraries: Jetlang, GPars
Polyglot solutions with Scala and Clojure
Grid computing and cloud solutions
Testing multi-threaded programs
Maintaining state is a common place among today's complex systems, and choosing how systems interact with this state is one of the earliest design decisions that is made. With the rise of the multi-core processor, concurrency is becoming more and more common place and dealing with state transforms into a potential debugging nightmare. In this session we will discuss the difference between mutable and immutable state; how your systems behave when dealing with mutable versus immutable state; as well as learn when and where the best fits are for mutable and immutable state. Finally we will finish up with some common mutable (and immutable) anti-patterns and learn how to avoid them.
You have seen the ads where Android based devices like to brag about how awesome their multitasking is and now even the iPhone claims to have multitasking. Unfortunately it’s pseudo-multitasking borrowed from Android, but fear not. Android has “real” multitasking as well. It’s easy to do, but even easier to screw up. In this talk you’ll learn how to do it right, and how to do it without killing a phone’s battery. We’ll discuss the dreaded “P” word (polling), as well as alternatives such as Android’s cloud to device messaging and persistent connections.
14th–15th October 2010