There are many things going on at the same time in the world around us. Multithreading is a way of building applications with multiple threads[1] Unfortunately, writing programs that deal with many things happening at once can be much more difficult than writing in the conventional single-threaded C and C++ style.Java has a sophisticated set of synchronization primitives that are based on the widely used monitor and condition variable paradigm introduced by C.A.R.Hoare[2]. By integrating these concepts into the language (rather than only in classes) they become much easier to use and are more robust.
Bottom Line: B