串行、并发、并行的区别以及坑
# 将应用程序对硬件资源的竞态请求变得有序化
'''
串行: 一个完完整整的执行完了再执行下一个.
并发: 看起来是同时运行的
并行: 真正做到了同时运行
多道技术(了解):
空间复用: 共用一个内存条,每一个进程都有自己独立的内存空间,互不干扰,物理级别的隔离.
时间复用: 共用了一个cpu
cpu切换(掌握):
io的时候,占用时间过长切换,
#三 现代计算机:
现在的主机一般是多核,那么每个核都会利用多道技术
有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,会被调度到4个
cpu中的任意一个,具体由操作系统调度算法决定。
并发:切换+保存状态
坑
开启子进程: 把父进程的代码完整复制到一个新的内存空间里去执行..
x = 1
def task():
print(x)
createProcess(task)