Understanding Multithreading
Paul Gibbons · Apress eBooks · 2002
The Java Language is inherently thread aware. The Java Language Specification defines behavior in multithreaded scenarios. There are Java language keywords that relate to multithreading. The same things can be said of C#. Your experience with this aspect of Java gives you an advantage over programmers moving to C# from other languages.