We have recently added a couple of interesting technical articles written by Jim Rogers to the CodeMages Community web site, the first one of them being "Java Threads: A Faulty Concurrency Model". Here's a synopsis of this article:
Java provides an unusually high level of support for creating threaded applications. Unfortunately, the mechanisms for safely communicating between threads easily lead to dangerous race conditions and deadlocks. While solutions to these problems do exist, they are messy at best, tending to cause violations of good object oriented design principles.
For those who want to read more, visit the Coding | Java section of the CodeMages Community web site and find the article at http://www.crystalcode.com/codemage/MainMenu/Coding/Java/JavaThreads.php
Jim has rapidly become a major contributor to our community and his generous contributions so far, include:
Title: Concurrent Programming
Location: Coding | Programming Concepts, http://www.crystalcode.com/codemage/MainMenu/Coding/Programming_Concepts/ConcurrentProgramming.php
More and more software systems are being designed with concurrent programming features. Early concurrent systems were constructed from groups of cooperating processes. Modern concurrent systems are being constructed in one process with groups of cooperating threads. Concurrent processing promises dramatic performance improvements. It also presents the developer with a new set of design problems.
Title: Shared Resource Design Patterns
Location: Coding | Programming Concepts, http://www.crystalcode.com/codemage/MainMenu/Coding/Programming_Concepts/SharedResourceDesignPatte.php
Concurrent programming requires control of access to shared resources. Experience shows there are many common design patterns for shared resources. This paper explores some of the common patterns for locking and buffering data, as expressed using monitors.
We would love to get some feedback on these articles in the form of an e-mail to firstname.lastname@example.org (which will be forwarded to Jim Rogers) or in the form of a discussion with Jim Rogers (aka WanderingInstructor) on the CodeMages Community Forum.
Also, our brand new developers community needs more serious contributors like Jim who can write high quality technical articles about software development or web design techniques. For more information and other contribution possibilities please write to email@example.com or visit the CodeMages Community web site at http://www.crystalcode.com/codemage
Thanks for your time,
The CodeMages Community
Web site: http://www.crystalcode.com/codemage
(register for free at http://www.crystalcode.com/codemageforum/member.php?action=reg
to join in the discussions)