多线程编程
串行:一个完完整整执行完了再执行下一个
并发:看起来是同时运行的
并行:真正做到了同时运行
多道技术
空间复用:共用了一个内存条,每一个进程都有自己独立的内存空间,互不干扰,物理级别的隔离
时间复用:共用了一个cpu
cpu切换
当进程IO时,占用时间过长也会切换
现代计算机
现代的主机一般都是多核,那么每个核都会利用多道技术
有4个cpu,运行于cpu1的某个程序遇到IO阻塞,会等到io结束再重新调度,会被调度到四个cpu中任意的一个,具体由操作系统调度算法决定
并发就是切换+保存状态
开启子进程会把父进程的代码完整复制到一个新的内存空间里去执行