Concurrency (was: Re: [GUI] Re: events & callbacks)
Antony Courtney
antony@apocalypse.org
Wed, 12 Mar 2003 10:24:24 -0500
I have not been following this discussion particularly closely, so can't
really comment on the specifics.
However, I think it is worth noting that Swing, Java's state-of-the-art
cross-platform GUI toolkit, is NOT thread-safe, despite the fact that
the Java language *and* libraries have had robust support for threads
and multi-threaded programming from the start, and there was no shortage
of developer resources or concurrent programming expertise on the Swing
team.
The decision not to make Swing thread-safe was deliberate, and was based
in part on brutal experience by previous attempts to build thread-safe
GUI toolkits (Trestle, SubArctic, etc.).
I strongly encourage anyone who is thinking seriously about these issues
to at least read the following short article:
http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html
particularly the final section ("Why did we implement Swing This Way?")
which discusses the rationale for their design.
Remember: Worse Is Better.
-antony
--
Antony Courtney
Grad. Student, Dept. of Computer Science, Yale University
antony@apocalypse.org http://www.apocalypse.org/pub/u/antony