国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python并發(fā):多線程與多進(jìn)程的詳解

2020-02-16 00:52:33
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本篇概要

1.線程與多線程

2.進(jìn)程與多進(jìn)程

3.多線程并發(fā)下載圖片

4.多進(jìn)程并發(fā)提高數(shù)字運(yùn)算

關(guān)于并發(fā)

在計(jì)算機(jī)編程領(lǐng)域,并發(fā)編程是一個(gè)很常見的名詞和功能了,其實(shí)并發(fā)這個(gè)理念,最初是源于鐵路和電報(bào)的早期工作。比如在同一個(gè)鐵路系統(tǒng)上如何安排多列火車,保證每列火車的運(yùn)行都不會(huì)發(fā)生沖突。

后來(lái)在20世紀(jì)60年代,學(xué)術(shù)界對(duì)計(jì)算機(jī)的并行計(jì)算開始進(jìn)行研究,再后來(lái),操作系統(tǒng)能夠進(jìn)行并發(fā)的處理任務(wù),編程語(yǔ)言能夠?yàn)槌绦驅(qū)崿F(xiàn)并發(fā)的功能。

線程與多線程

什么是線程

一個(gè)線程可以看成是一個(gè)有序的指令流(完成特定任務(wù)的指令),并且可以通過操作系統(tǒng)來(lái)調(diào)度這些指令流。

線程通常位于進(jìn)程程里面,由一個(gè)程序計(jì)數(shù)器、一個(gè)堆棧和一組寄存器以及一個(gè)標(biāo)識(shí)符組成。這些線程是處理器可以分配時(shí)間的最小執(zhí)行單元。

線程之間是可以共享內(nèi)存并且互相通信的。但是當(dāng)兩個(gè)線程之間開始共享內(nèi)存,就無(wú)法保證線程執(zhí)行的順序,這可能導(dǎo)致程序錯(cuò)誤,或者產(chǎn)生錯(cuò)誤的結(jié)果。這個(gè)問題我們?nèi)蘸髸?huì)專門提及。

下面這個(gè)圖片展示了多個(gè)線程在多個(gè)CPU中的存在方式:

線程的類型

在一個(gè)典型的操作系統(tǒng)里面,一般會(huì)有兩種類型的線程:

1.用戶級(jí)線程:我們能夠創(chuàng)建、運(yùn)行和殺死的線程;

2.內(nèi)核級(jí)線程:操作系統(tǒng)運(yùn)行的低級(jí)別線程;

Python工作在用戶級(jí)線程上,我們介紹的內(nèi)容也主要是在用戶級(jí)的線程上運(yùn)行的。

什么是多線程

現(xiàn)在的CPU基本上都是多線程的CPU,比如我們隨意從京東上找一個(gè)Inter的酷睿i5處理器,看看它的產(chǎn)品規(guī)格:

這些CPU能夠同時(shí)運(yùn)行多個(gè)線程來(lái)處理任務(wù),其實(shí)從本質(zhì)上來(lái)說,這些CPU是利用一個(gè)能夠在多個(gè)線程之間快速切換的單個(gè)內(nèi)核來(lái)完成多線程的運(yùn)行的,切換線程的速度足夠快,所以我們并不會(huì)感覺到。但實(shí)質(zhì)上,它們并不是同時(shí)運(yùn)行的。

為了形象的理解多線程,我們來(lái)回憶一個(gè)場(chǎng)景。

在大學(xué)時(shí)代,期末的時(shí)候,有些科目的老師為了不為難大家,把考試設(shè)為開卷考試,不知道大家面對(duì)開卷考試的時(shí)候,做題的順序是怎樣的?

在單線程的工作模式下,我們從選擇題到填空題到簡(jiǎn)答題再到分析題,一個(gè)一個(gè)按順序的寫。

遇到一個(gè)特別難的題目,我們就要翻書翻資料了,當(dāng)然既然是開卷考試,有些題目的答案就不可能直接出現(xiàn)在教科書中,那么我們就要花費(fèi)更多的時(shí)間來(lái)找答案,直到考試結(jié)束,因?yàn)槟硞€(gè)難題耗費(fèi)的翻書時(shí)間太多,導(dǎo)致后面一些簡(jiǎn)單的題目也沒用做,嗯,開卷都寫不完試卷,掛科名額就給你了。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 夏河县| 托克逊县| 乐安县| 新野县| 即墨市| 县级市| 普兰店市| 红安县| 贵定县| 蒲江县| 长春市| 新乡市| 芦山县| 崇文区| 迁西县| 沧州市| 黑河市| 佳木斯市| 德保县| 金溪县| 工布江达县| 沅江市| 金华市| 定州市| 定日县| 兴国县| 阜新市| 什邡市| 泾源县| 沅陵县| 那曲县| 霸州市| 台湾省| 卫辉市| 河间市| 阆中市| 横峰县| 乐亭县| 通辽市| 双柏县| 牡丹江市|