(I've trimmed the receiver list a bit.)
Joe wrote:
>> > To be fair, Java does support concurrency at the language level. It
> > just happens to do it poorly.
>> No it doesn't java thread map to OS threads - see for example
Well, yes, but mapping to OS threads shouldn't in itself
disqualify a language from being called concurrency-oriented
(Erlang/OTP R11 will probably support the option of making
use of OS threads, at least for running multiple schedulers.)
Java does support concurrency at the language level. It
happens to do it poorly. Leaving the issue of preemptiveness
open to each occasion is perhaps the worst mistake, but
relying on a shared-object model is not that great either.
The fact remains: Java _was_ designed with concurrency in
mind.
This is also the common perception. Quoting from "Java in
a Nutshell" ((c) O'Reilly 1997):
"Java makes programming with threads much easier, by
providing built-in language support for threads. The
java.lang package provides a Thread class that supports
methods to start and stop threads and set thread
priorities, among other things. The Java language
syntax also supports threads directly with the
'synchronized' keyword. This keyword makes it
extremely easy to mark sections of code or entire
methods that should only be run by a single thread
at a time." (Page 8)
/Ulf W