[jboss-dev] Thread safety problems
Jason T. Greene
jason.greene at redhat.com
Fri Apr 17 11:55:26 EDT 2009
David M. Lloyd wrote:
> When writing an API or SPI it is absolutely critical that all the
> elements of that API or SPI are thoroughly documented with any
> information related to the thread safety (or lack thereof) of that
> element. We have a great deal of code (and I'm talking critical, core
> stuff) out there with little or no javadoc at all, let alone thread
> safety information in said documentation. This creates the possibility
> for situations like SPIs which can end up being implemented with
> completely wrong thread safety semantics, basically leaving time bombs
> in the code. See
> http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4226025 for one
> recent example.
>
> We still have way too much code doing double-checked locking, or using
> locks in strange or non-optimal ways, or using thread interruption
> wrong, or making wrong assumptions about the JMM. Own and read this
> book: http://jcip.net/ - don't think you understand concurrency until
> you have done so - seriously.
Well said. Every contributor should read this book, it is essential
knowledge.
I will also add that all new designs/enhancements must take thread
interaction into consideration. It is much harder to retrofit an
existing API/implementation to be safe and efficient after it has been
completed.
If you aren't sure how to solve a threading problem, or want to validate
your design please ask here or on the forums! We have many experts in
this area.
--
Jason T. Greene
JBoss, a division of Red Hat
More information about the jboss-development
mailing list