i just want to clear my concept on multithreading overheads.In a java book "Java Concurrency In Practice"by Brian Göetz i read following paragraph in Chapter-11 section-11.1.
"While the goal maybe to improve performance overall, using multiple threads always introduces some performance costs compared to the single threaded approach. These include the overhead associated with coordinating between threads(locking,signaling,synchronization),increased context switching,thread creation and teardown,and scheduling overhead."
Why did he separate context switching overhead and scheduling overhead. Is thread scheduling overhead not same as context switch overhead. I am confused in both concepts.