Also see thread (C++).

Had really good exposure at NVIDIA, but really learned for SE350.

This is fundamental to understand.

Multithreading vs. multiprocessing, what does it come down to?

I remember about how Hemal talked about if you really care about performance, you multithread instead of splitting things into different processes.

For uniprocessor, they time slice for a Time Quanta.

How does multithreading work in a multicore system?