上節課的內容:
01 作業系統
系統介面
作業系統核心
02 多道技術
空間上的復用:復用記憶體的空間
1、多道/個程式的**都存入記憶體
2、記憶體空間是物理隔離的
時間上的復用:復用cpu的時間
cpu的切換
1、任務的執行遇到io阻塞=》提公升效率
2、任務占用cpu時間過長=》降低效率
如果我們的核心目標是想讓多個任務併發起來:那麼無論是遇到io還是沒有遇到io都應該讓cpu在多個任務之間切換起來
如果我們的核心目標是想讓多個任務的執行效率提公升:我們應該只控制乙個任務在遇到io情況下切換到另外乙個任務
今日內容:
01 程序理論
併發、並行、序列
程序執行的三種狀態:(執行態、就緒態)非阻塞態、阻塞態
呼叫任務的兩種方式:同步呼叫、非同步呼叫
02 程序的使用
process
1、什麼是程序
程序是乙個程式執行的過程
2、什麼是程式
程式就是一堆**檔案
3、序列、併發、並行
並行:多個任務是真的在同時執行,只有多個cpu才有並行的概念
併發:多個任務看起來是在同時執行
4、程序的建立
windows:createprocess
linux:fork
5、程序的終止
1. 正常退出
5. 被其他程序殺死(taskill /f /pid 3333
)6、程式執行的三種狀態
執行態就緒態
阻塞態優化程式效率的核心法則:降低io操作(硬碟io、網路io)
記憶體》本地硬碟-》網路io
7、程序執行的三種狀態:(執行態、就緒態)非阻塞態、阻塞態
呼叫任務的兩種方式:同步呼叫、非同步呼叫
import os
import time
print
(os.getpid())
time.sleep(
1000
)開啟程序的方式一:
import time
import os
from multiprocessing import process
deftask
(n, tag)
:print
("%s is running"
% tag)
time.sleep(3)
print
("%s is done"
% tag)
if __name__ ==
'__main__'
: p1 = process(target=task, args=(5
,"子程序1"))
p2 = process(target=task, args=(3
,"子程序2"))
p3 = process(target=task, args=(2
,"子程序3"))
p1.start(
) p2.start(
) p3.start(
)print
("主:%s。。。"
% os.getpid())
開啟程序的方式二:
import time
import os
from multiprocessing import process
class
myprocess
(process)
:def
__init__
(self,tag)
:super()
.__init__(
) self.tag = tag
defrun(self)
->
none
:print
("%s is running"
% self.tag)
time.sleep(3)
print
("%s is done"
% self.tag)
if __name__ ==
'__main__'
: p1 = myprocess(
"程序1"
) p2 = myprocess(
"程序2"
) p3 = myprocess(
"程序3"
) p1.start(
)# p1.run()
p2.start(
)# p2.run()
p3.start(
)# p3.run()
print
("主:%s。。。"
% os.getpid(
))
import time
import os
from multiprocessing import process
deftask
(n, tag)
:print
("%s is running"
% tag)
time.sleep(n)
print
("%s is done"
% tag)
if __name__ ==
'__main__'
: p1 = process(target=task, args=(3
,"子程序1"))
p2 = process(target=task, args=(4
,"子程序2"))
p3 = process(target=task, args=(5
,"子程序3"))
# start=time.time()
p1.start(
) p2.start(
) p3.start(
) p1.join(
)# p3.join()
# p2.join()
print
(p1.pid)
print
(p2.pid)
print
(p3.pid)
# print(time.time() - start)
print
("主:%s。。。"
% os.getpid(
))
day36 外星日曆
某星系深處發現了文明遺跡。他們的計數也是用十進位制。他們的文明也有日曆。日曆只有天數,沒有年 月的概念。有趣的是,他們也使用了類似 星期 的概念,只不過他們的乙個星期包含了9天,為了方便,這裡分別記為 a,b,c.h,i。從一些資料上看到,他們的23日是星期e 他們的190日是星期a 他們的3432...
每日演算法 day 36
那些你早出晚歸付出的刻苦努力,你不想訓練,當你覺的太累了但還是要咬牙堅持的時候,那就是在追逐夢想,不要在意終點有什麼,要享受路途的過程,或許你不能成就夢想,但一定會有更偉大的事情隨之而來。mamba out 2020.3.22 沒話說 只能說資料太水 有的直接取模過不了樣例就能ac,感覺是正確的做法...
day 36 初始前端 html語言
參考部落格進行學習 html標籤 特徵 1.空白摺疊現象 2.對空格和換行不敏感 3.標籤要嚴格封閉 p標籤的巢狀 多注意!html中 1.行內標籤 1 在一行內顯示 span strong em i del a 2 不能設定寬高 預設的寬和高 是內容填充 1.1行內塊標籤 img input 1 ...