I always considered threads to be operating system oriented , where you can't simply "invade" the system inner processes and force them to execute code in a parallel fashion , you have to ask the OS to do so, if it's an allowed and given API.
Languages like Java have system-suited VM where they can implement threads in each OS using it's given API (as win32api , etc.).
just out of curiosity , how c++11, which has a portable code implements OS-independent threads?