1.程序是乙個正在執行的程式,或者說是程式執行的過程,程序是個抽象概念
程序起源於作業系統,是作業系統最核心的概念,作業系統所有其他的概念都是圍繞程序展開
研究程序最底層就是在研究作業系統底層**
2.序列 -程序
乙個任務完完整整的執行完畢後,在執行下乙個任務
3.併發-程序
看起來多個任務是同時執行即可,單核也可以實現併發
4.-並行-程序
真正意義上多個任務的同時執行,只要多核才實現並行
5.cpu的功能:
cpu是用來做計算的,cpu無法執行io操作,一旦遇到io操作,應該讓cpu去執行別的任務
6.多道技術原理:
多道技術中的多道指的是多個程式,多道技術的實現是為了解決多個程式競爭或者說共享同乙個資源(比如cpu)的有序排程問題,
解決方式即多路復用,多路復用分為時間上的復用和空間上的復用。
1.空間上的復用=》將記憶體分為幾個部分,每個部分放入乙個程式,這種同一時間記憶體中就有多個程序程式
2.時間上的復用-》當乙個程式執行io操作時候,另乙個程式可以使用cpu。如果記憶體中可以存放多個程序程式,那麼cpu的利用率可以接近100%
(
作業系統採用了多道技術後,可以控制程序的切換,或者說程序之間去爭搶cpu的執行許可權。這種切換不僅會在乙個程序遇到io時進行,乙個程序占用cpu時間過長也會切換,或者說被作業系統奪走cpu的執行許可權
)
強調
:遇到io切,占用cpu時間過長也切,核心在於切之前將程序的狀態儲存下來,這樣就可以保證下次切回來時,能基於上次切走的位置繼續執行!
7. 兩種cpu切換控制:
1,cpu遇到io操作時切換:可以提公升效率
2.乙個程序占用cpu時間過長也會被切走:併發效果不得已而為之,這樣反而會降低程式的執行效率
總結:寫程式最核心的提公升效率的方式:就是盡可能減少io操作
Python併發程式設計 程序
1.意義 充分利用計算機多核資源,提高程式的執行效率。2.實現方案 多程序 多執行緒 3.並行與併發 1.定義 程式在計算機中的一次執行。2.系統中如何產生乙個程序 使用者空間通過呼叫程式介面或者命令發起請求 作業系統接收使用者請求,開始建立程序 作業系統調配計算機資源,確定程序狀態等 作業系統將建...
python併發程式設計 多程序
import os import time from multiprocessing import process def func args,args2 print args,args2 time.sleep 3 print 子程序 os.getpid print 子程序的父程序 os.getpp...
python 併發程式設計 守護程序
1.守護程序 守護程序會隨著主程序的 執行結束而結束。語法 程序物件.daemon true時,表示將程序設定為守護程序,一定在start之前設定。import time from multiprocessing import process class myprocess process defr...