串行、並發、並行的區別以及坑
# 將應用程序對硬件資源的競態請求變得有序化
'''
串行: 一個完完整整的執行完了再執行下一個.
並發: 看起來是同時運行的
並行: 真正做到了同時運行
多道技術(了解):
空間復用: 共用一個內存條,每一個進程都有自己獨立的內存空間,互不干擾,物理級別的隔離.
時間復用: 共用了一個cpu
cpu切換(掌握):
io的時候,占用時間過長切換,
#三 現代計算機:
現在的主機一般是多核,那么每個核都會利用多道技術
有4個cpu,運行於cpu1的某個程序遇到io阻塞,會等到io結束再重新調度,會被調度到4個
cpu中的任意一個,具體由操作系統調度算法決定。
並發:切換+保存狀態
坑
開啟子進程: 把父進程的代碼完整復制到一個新的內存空間里去執行..
x = 1
def task():
print(x)
createProcess(task)
