不管是进程还是线程,每个CPU同时都只能运行一个,但是会在几个中不断切换,造成“伪并行”
进程的几种状态,线程与之类似:
更大的内存可以有更快的速度的原因,以及不断增加内存所造成的边际效益:
关于线程就不贴图了,因为问题实在太多了,如果复习建议直接重看线程那一部分,今天看了很久查了很多资料还是不太清晰,希望以后可以慢慢理解。然后有几个重要的地方:
1.阻塞与非阻塞的理解(可能有偏差):
关于阻塞系统调用是指调用方调用一个一直在阻塞状态等待被调用的线程,之后调用方挂起(进入阻塞状态?)
非阻塞系统调用指调用方发起调用后继续执行下面的事情
2.关于单CPU多线程为什么可以更好的利用CPU:
这个其实不是绝对的,优化主要出现在有IO这样的慢过程大量存在的时候。多线程的线程切换要快于中断的保护现场和上下文调用,而且用户空间实现多线程可以避免一些情况下陷入内核的情况。