what is pre emptive multithreading exactly ? Does Linux support that ? what are the advantages of it ?