My impression is that threading is all handled externally by libraries and
not an integrated part of the language. [There are those that argue that
Java's support is not really integrated either.] The lock statement is
purely syntactic sugar for accessing System.CriticalSection in such a way
that you can't forget to release the lock - exactly the same rationale as
Java's synchronized statements.
I expect you'll find System.Event.waitFor(), System.Event.set() etc, or some
similar thing. Probably semaphores as well. Information on libary classes
seems lacking at present.
One interesting omission is the volatile keyword. C# has no concept of
something outside the compiler/runtime's knowledge, either in the C sense or
the Java sense.
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel
This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:00:26 EDT