
多个CPU、共享同一片内存空间

左边是单线程的进程,右边是多线程的进程,可以从途中看出他们的差别。

上图:多线程和多进程区别
OS scheduler决定下一条指令是执行啥的,尽管他有基于一定算法,但是还是难以推断。
What runs next is determined by the OS scheduler, and although the scheduler likely implements some sensible algorithm, it is hard to know what will run at any given moment in time.
1.1 放弃原子性,CPU每次执行的线程可能是 $T_A$或者 $T_B$,因此可以画出一个树状的形式语义机,每次PC都可能是$T_A$或者 $T_B$,这导致根本不可能一条程序(甚至指令)独占处理器:


这里两个线程求和小于2000……的原因是