隊列和棧的區(qū)別:
隊列(Queue):是限定只能在表的一端進(jìn)行插入和另一端刪除操作的線性表
棧(Stack):是限定之能在表的一端進(jìn)行插入和刪除操作的線性表
隊列和棧的規(guī)則
隊列:先進(jìn)先出
棧:先進(jìn)后出
隊列和棧的遍歷數(shù)據(jù)速度
隊列:基于地址指針進(jìn)行遍歷,而且可以從頭部或者尾部進(jìn)行遍歷治筒,但不能同時遍歷屉栓,無需開辟空間,因為在遍歷的過程中不影響數(shù)據(jù)結(jié)構(gòu)耸袜,所以遍歷速度要快
棧:只能從頂部取數(shù)據(jù)友多,也就是說最先進(jìn)入棧底的,需要遍歷整個棧才能取出來堤框,遍歷數(shù)據(jù)時需要微數(shù)據(jù)開辟臨時空間域滥,保持?jǐn)?shù)據(jù)在遍歷前的一致性
線程纵柿,線程,和協(xié)程
進(jìn)程:進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的?個獨立單位.
線程:線程是進(jìn)程的?個實體, 也叫輕量級進(jìn)程,是CPU調(diào)度和分派的基本單位,它是比進(jìn)程更小的能獨立運行的基本單位.線程自己基本上不擁有系統(tǒng)資源,只擁有?點在運行中必不可少的資源骗绕。但是它可與同屬?個進(jìn)程的其他的線程共享進(jìn)程所擁有的全部資源.
協(xié)程:協(xié)程執(zhí)行過程中藐窄,在協(xié)程內(nèi)部可中斷,然后轉(zhuǎn)而執(zhí)行別的協(xié)程酬土,在適當(dāng)?shù)臅r候再返回來接著執(zhí)行荆忍。協(xié)程之間不是調(diào)用者與被調(diào)用者的關(guān)系,而是彼此對稱撤缴、平等的刹枉,通過相互協(xié)作共同完成任務(wù)。
面向兌現(xiàn)的特點:封裝屈呕,繼承微宝,多態(tài)
封裝:
就是把抽象的數(shù)據(jù)和對數(shù)據(jù)進(jìn)行的操作封裝在一起,將屬性和方法封裝到一個抽象的類中
數(shù)據(jù)被保存在內(nèi)部虎眨,程序的其他部分只有通過被授權(quán)的操作(成員方法)才能對數(shù)據(jù)進(jìn)行操作蟋软。外界使用類創(chuàng)建對象,然后讓對象調(diào)用方法
通過在實例上調(diào)用方法嗽桩,我們就直接操作了對象內(nèi)部的數(shù)據(jù)岳守,但無需知道方法內(nèi)部的實現(xiàn)細(xì)節(jié)。對象方法的細(xì)節(jié)都被封裝在類的內(nèi)部
什么叫可迭代對象碌冶?迭代器湿痢?生成器是迭代器嗎?
可迭代對象:
可迭代對象包含迭代器扑庞。
如果一個對象擁有__iter__方法譬重,其是可迭代對象
迭代器:
一個對象擁有next方法,就是迭代器
生成器:
生成器不是迭代器
死鎖:
1.關(guān)于死鎖罐氨。 死鎖,就是當(dāng)多個進(jìn)程或者線程在執(zhí)行的過程中,因爭奪共享資源而造成的一種互相等待的現(xiàn)象,一旦產(chǎn)生了死鎖,不加人工處理,程序會一直等待下去,這也被稱為死鎖進(jìn)程臀规。
互斥鎖:
只有當(dāng)一個進(jìn)程在進(jìn)行資源的時候,進(jìn)行上鎖栅隐,可以保護(hù)資源以现,只有當(dāng)他運行玩的時候,才會進(jìn)行解鎖约啊。對數(shù)據(jù)的保護(hù)