我们都知道使用多线程可以提高代码的执行效率。但是在使用多线程上我还有些疑惑的东东,请教各位达人:1 在执行多线程时如果我们的计算机是多CPU或者是多核的,是不是这些线程任务分配是由操作系统完成的呢?如果是,那些操作系统可以支持多线程呢?2 我们知道在cpu的算术逻辑单元执行时,需要调用寄存器里的数据进行运算。而且,多线程中,很多变量是多线程共享的,例如:状态变量等等。那么多cpu或多核cup执行多线程时是共享寄存器,还是每个cpu或内核都有自己的寄存器,将共享的变量放在内存中,在运算是互相读写内存中共享数据来完成多线程的运算呢?3 操作系统中对多cpu或多核cpu,又是怎么样调配多线程和多进程多cpu的占用呢?