All Java threads share the same process space and an exception to this is Native threads. Only some compilers support native threads ( IBM's JDK for AIX is an example ). Using native threads certainly improves performance. Ajith
Open Group Certified Distinguished IT Architect. Open Group Certified Master IT Architect. Sun Certified Architect (SCEA).
Java has built-in multithreading which includes multithreading primitives as part of the language itself. C and C++ do not have built-in multithreading therefore they must make calls to the operating system multithreading primitives to accomplish the same tasks. Hopefully, this helps.
Also pay attention to the behavior of Thread.sleep(int) in your code. If you're running under Solaris, which uses 'native' threads, these threads are cooperative, not preemptive within the JRE. Under NT, you don't need to call sleep(), but under Solaris, you do in order for same-priority threads to get CPU time. If your threads aren't getting enough time, try putting a sleep(1) call in.