This post originated from an RSS feed registered with Java Buzz
by Geoffrey Wiseman.
Original Post: Concurrency Rising
Feed Title: Furious Purpose
Feed URL: http://www.jroller.com/diathesis/feed/entries/rss
Feed Description: Thoughts and experiences on technology and software.
Around the turn of the year there was some discussion
about the rise
of concurrency. In essence, Herb Sutter argues reasonbly
that the increasing trend in microprocessor and system design
to multi-core and multi-processor designs will have an impact
on the way we design and develop software.
It's a convincing
perspective; thanks to Rickard
for pointing out the article and arguing in its favor. For
that matter, it reminds me of Don Box's comment
at OOPSLA.
In order to take advantage of the full power of a system,
software architecture, design and implementation may have
to increasingly rely on concurrency and pervasive, aggressively
multi-threaded strategies.
The concurrency libraries for Java 5
are seemingly just in time to help Java developers make new strides
towards writing readable, maintainable, concurrency code. For those
not yet on J2SE 5, you can look to Doug Lea's
original library or the backport
of the J2SE 5.0 version.
Happily, for those of us developing web applications as a general rule,
if you're developing an application that expects to have concurrent
users, you're likely already writing code that is multi-threaded by
virtue of the way web applications operate, although this also probably
means you've been dealing with concurrency issues for some time.
Looking in another direction, the argument can be made that even library
support for concurrency is not sufficient and we need to be considering
more fundamental paradigm shifts such as
Communicating Sequential
Processes.