欧美一级精品免费播放-亚洲精品久久久久久人妖-中文字幕一区二区精品在线-国产精品亚洲一区二区在 色天天综合色天天久久婷婷_日韩綜合网_精品国产香蕉伊思人在线_99视频国产在线观看播放

注冊(cè)|登錄

聯(lián)系電話(huà):024-31891684  13390130939
沈陽(yáng)軟件公司--沈陽(yáng)軟件定制

沈陽(yáng)軟件開(kāi)發(fā)_沈陽(yáng)軟件公司_沈陽(yáng)軟件定制/軟件/最新技術(shù)

Latest technology最新技術(shù)

淺談并發(fā)

瀏覽量:2450

一、并發(fā)的定義

  在操作系統(tǒng)中,是指一個(gè)時(shí)間段中有幾個(gè)程序都處于已啟動(dòng)運(yùn)行到運(yùn)行完畢之間,且這幾個(gè)程序都是在同一個(gè)處理機(jī)上運(yùn)行,但是任一個(gè)時(shí)刻點(diǎn)上只有一個(gè)程序在處理機(jī)上運(yùn)行。并發(fā)環(huán)境下,由于程序的封閉性被打破,出現(xiàn)了新的特點(diǎn):

  1. 程序與計(jì)算不再一一對(duì)應(yīng),一個(gè)程序副本可以有多個(gè)計(jì)算;
  2. 并發(fā)程序之間有相互制約關(guān)系:直接制約體現(xiàn)為一個(gè)程序需要另一個(gè)程序的計(jì)算結(jié)果,間接制約體現(xiàn)為多個(gè)程序競(jìng)爭(zhēng)某一資源,如處理機(jī)、緩沖區(qū)等;
  3. 并發(fā)程序在執(zhí)行中是走走停停,斷續(xù)推進(jìn)的。

二、和并行的區(qū)別與聯(lián)系

并發(fā)性(Concurrence):指兩個(gè)或兩個(gè)以上的事件或活動(dòng)在同一時(shí)間間隔內(nèi)發(fā)生。

并行性(Parallelism):指兩個(gè)或兩個(gè)以上事件或活動(dòng)在同一時(shí)刻發(fā)生。

1)兩者的區(qū)別

并發(fā)和并行的區(qū)別就是一個(gè)處理器同時(shí)處理多個(gè)任務(wù)多個(gè)處理器(或者是多核的處理器)同時(shí)處理多個(gè)不同的任務(wù)。前者是邏輯上的同時(shí)發(fā)生,而后者是物理上的同時(shí)發(fā)生。

2)兩者的聯(lián)系

并行的事件或活動(dòng)一定是并發(fā)的,但反之并發(fā)的事件或活動(dòng)未必是并行的。

并行性是并發(fā)性的特例,而并發(fā)性是并行性的擴(kuò)展。

三、表現(xiàn)形式

1)多進(jìn)程并發(fā)

  當(dāng)客戶(hù)有請(qǐng)求時(shí),服務(wù)器用一個(gè)子進(jìn)程來(lái)處理客戶(hù)請(qǐng)求,父進(jìn)程繼續(xù)等待其它客戶(hù)的請(qǐng)求。這種方法的優(yōu)點(diǎn)是當(dāng)客戶(hù)有請(qǐng)求時(shí),服務(wù)器能及時(shí)處理客戶(hù),特別是在客戶(hù)服務(wù)器交互系統(tǒng)中。對(duì)于一個(gè)TCP 服務(wù)器,客戶(hù)與服務(wù)器的連接可能并不馬上關(guān)閉,可能會(huì)等到客戶(hù)提交某些數(shù)據(jù)后再關(guān)閉,這段時(shí)間服務(wù)器端的進(jìn)程會(huì)阻塞,所以這時(shí)操作系統(tǒng)可能調(diào)度其它客戶(hù)服務(wù)進(jìn)程。

2)多線(xiàn)程并發(fā)

  多線(xiàn)程并發(fā)是對(duì)多進(jìn)程并發(fā)的改進(jìn),由于多進(jìn)程并發(fā)服務(wù)器在創(chuàng)建進(jìn)程時(shí)要消耗較多的系統(tǒng)資源,所以用線(xiàn)程來(lái)取代進(jìn)程,這樣服務(wù)處理程序可以較快的創(chuàng)建(據(jù)統(tǒng)計(jì),創(chuàng)建線(xiàn)程比創(chuàng)建進(jìn)程要快10100 ,所以又把線(xiàn)程稱(chēng)為輕量級(jí)進(jìn)程)。

3)I/O復(fù)用并發(fā)

  I/O復(fù)用技術(shù)是為了解決進(jìn)程或線(xiàn)程阻塞到某個(gè)I/O系統(tǒng)調(diào)用而出現(xiàn)的技術(shù),使進(jìn)程不阻塞于某個(gè)特定的I/O系統(tǒng)調(diào)用。它也可用于并發(fā)服務(wù)器的設(shè)計(jì),但很多情況下它是與多線(xiàn)程和多進(jìn)程一起使用。

  這種方法的優(yōu)點(diǎn)是:由于只有一個(gè)進(jìn)程或線(xiàn)程,系統(tǒng)資消耗較小。缺點(diǎn)是要處理完一個(gè)客戶(hù)后,才能處理其它客戶(hù)的請(qǐng)求,而且處理客戶(hù)請(qǐng)求時(shí),不能讓它阻塞到其它的I/O系統(tǒng)調(diào)用上,否則就成了一種迭代服務(wù)器。對(duì)于某些處理客戶(hù)請(qǐng)求的時(shí)間較短、實(shí)時(shí)性要求不是很高的網(wǎng)絡(luò)服務(wù)器,I/O復(fù)用可以較好的應(yīng)用。

  I/O復(fù)用能讓一個(gè)或多個(gè)I/O條件滿(mǎn)足(例如,輸入已經(jīng)準(zhǔn)備好被讀,或者描述字可以承接更多的輸出)時(shí),我們就被通知到。I/O復(fù)用由select和poll支持,較新的Posix.1g也支持(pselect)。I/O復(fù)用技術(shù)的應(yīng)用面十分廣泛,總結(jié)一下主要有以下幾方面:

  • 客戶(hù)程序需要同時(shí)處理交互式的輸入以及與服務(wù)器之間的網(wǎng)絡(luò)連接。
  • 客戶(hù)端需要同時(shí)對(duì)多個(gè)網(wǎng)絡(luò)連接作出反應(yīng)。
  • TCP服務(wù)器需要同時(shí)處理處于監(jiān)聽(tīng)狀態(tài)和多個(gè)連接狀態(tài)的套接字。
  • 服務(wù)器需要處理多個(gè)網(wǎng)絡(luò)協(xié)議套接字。
  • 服務(wù)器需要同時(shí)處理不同的網(wǎng)絡(luò)服務(wù)和協(xié)議。

沈陽(yáng)團(tuán)購(gòu)網(wǎng)|營(yíng)口網(wǎng)站制作|沈陽(yáng)軟件公司|軟件定制|網(wǎng)站建設(shè)|加盟易勢(shì)|提交問(wèn)題