..


Sponsorētās saites

Vienlaicīga programmēšana C + +

Raksts raksta Stefano Cancedda
Lapa 1 no 6

Secība programmēšana sniedz garantiju, ka instrukcijas vienmēr tiek veiktas, lai bez izmaiņām. Rezultātā uzvedība ir deterministisko: ievietojot pašas izejvielas, izlaidi iegūst to pašu rezultātu.
Katrai programmai darbosies uz operētājsistēmas rada process, kas sniedz aizsargātu atmiņas vietu. Tas nodrošina iespēju, ka neatkarīga procesi darbojas vienlaicīgi, bez kļūdām.

Atšķirīgas (un spēcīgākās) ir vienlaicīga programmas. Pirms aplenkums ir ieviesta un kā tā darbojas, manuprāt, īpaši objekta veidu sauc kodola pavedienu.

Kā objekti Kernel diegi pārvalda operētājsistēmu, un ir divas būtiskas iezīmes:

  • Katrs pavediens ir privāto datu struktūru, kas saglabā savu steku, izņemot informāciju, nākamo norādījumu jāizpilda;
  • Katrs diegs akcijas ar visu procesu kopīgas atmiņas apgabalā.
Pavedienu izmantošanai ir vairākas priekšrocības attiecībā uz izpildi. Jo īpaši mēs pilnībā izmantotu darbības multi-core CPU, kas šobrīd ir dominējošā tehnoloģiju tirgū personālajiem datoriem. Tas ir neiedomājami, ka dažu sarežģītība mūsdienu pieteikumus ir izstrādāti secīgā veidā, tādējādi var izmantot laiku, tikai viens kodols, iekārta piedāvā.

Kā vēl viena priekšrocība, to var uzskatīt par diviem dažādiem procesiem darbojas pašu kodu, varbūt ar dažādiem parametriem, nav tik efektīvas kā divas tēmas, kas var tieši izmantot koplietojamo atmiñu. Sistēmā, kas neatbalsta tēmas, ja jūs vēlaties palaist vairākas reizes to pašu programmu, jums ir radīt jaunas darbavietas, pamatojoties uz to pašu programmu. Šī metode darbojas, bet ir izšķērdīgs resursu un ir lēnāks.

Treškārt, tēmas ir priekšrocība, ja tās sauc I / O blokatori: tā vietā, lai gaidītu notikumu izraisa lietotājs apstāšanās izpildes algoritms, varat sākt jaunu tēmu un novērstu nevajadzīgas dīkstāves kas pasliktina vispārējo sniegumu.

Atšķirībā vienlaicīgi programmēšanas vajadzībām atbalsta sinhronizāciju konstrukcijas, kas ir būtiska, lai izvairītos no izlases piekļuvēm koplietojamo atmiņu izraisīt kļūdas produkciju. Arī pakļauj programmētājs vairākas kļūdas bieži vien ir slikti baro, jo neparedzamu uzvedību deterministisko programmas.

Bez tam, sinhronizācija konstrukcijas ir izmaksas, gan mašīnu laiks, kas nepieciešams, lai izpildītu to koda konkrētajiem raksturlielumiem zudumu, ko izraisa cerības, ko radījusi šīs konstrukcijas, lai nodrošinātu godīgumu, veicot konkurentu.

Galvenie objekti, kas ļauj vadība konkurences sagaidāma turpmāk un sīkāk aprakstīti šādos punktos:

  • Gaistošo elementi
  • Bloķētām funkcijas
  • Luksofors
  • Kritiskā sadaļas
  • Notikumi
  • Taimeris
  • Mutex
Katrs no šiem elementiem piemērotas dabas veids, kā risināt konkrētas klases vienkāršas problēmas. Sarežģītu problēmu vienkārši apvienot šos objektus kopā, lai iegūtu pareizu rezultātu un apmierinošu pagājušo problēmu risināšanu, kas prasa izmantot vienu no senākajiem un problēmas, kas ir definētas kā iepriekš ir sarežģīts ļoti kritiska. Sinhronizācijas objektu kombinācijas var būt sarežģīta, labākajā gadījumā, jo jūs nevarat saņemt pietiekami augstu veiktspēju sliktākajā gadījumā, jo jūs nevarat vienkārši atrast risinājumu, kas nodrošinātu pareizību rezultātu. Ne mazāk sliktākajā gadījumā: ir fatāla kļūda un nav nekavējoties identificēt. Šajā sarežģītajā situācijā ir ļoti bieži, jo to jutīguma jautājumu mēs apspriestu, ir fakts, ka atkļūdošana vienmēr ir problemātiska vienlaicīgi vidē plūsmas patiesībā deterministisko izpildi, katru programmas izpildē, lai procesors veic darbības, vienmēr ir atšķirīgs.

Šajā pašā kategorijā ...
E-Learning
ASP Zero (Ebook) ASP Zero (Ebook)
Mācības Microsoft ASP un VBScript no nulles. Pie 29 tikai €.
Flash MX un ActionScript (Course) Flash MX un ActionScript (Course)
Kļūsti izstrādātāja tīmekļa vietnes no 29 €.
Web Design (Course) Web Design (Course)
Dizains Web Sites ar HTML, CSS un Dynamic HTML. Sākot no € 39.
Sponsorētās saites