..
Všetky moderné operačné systémy trvať roky, než sa model riešenia multi-proces priraďovanie prevedení a pamäte na rôzne programy bežia súčasne. V poslednom čase, a to predovšetkým vďaka všadeprítomnosť komunikačnej siete, toto poňatie bolo rozšírené na jednotlivých softvérových, tak, že sa rovnaký proces viac tokov v oblasti sledovania týchto vlákien. Tento nový prístup prináša obrovské zmeny v štruktúre softvéru, a to ako v teórii aj v praxi, ako to vždy býva, modularity a expresivita sú vyplácané v podobe zvýšenej zložitosti softvéru.
Programovacích jazykov najnovšie, Java, všetky ponúkajú natívne API pre tvorbu a správu vlákna, systémy založené na virtuálnom stroji, ako je Java a C # má developer úrovni abstrakcie zodpovedajúcej na túto tému a všetky ostatné musí sa spoliehať na operačný systém primitív, často vznikajú problémy prenosnosti kódu. V tomto kontexte, knižnice sú súčasťou POSIX (pthreads), ktorý umožňuje vývojárom C aj minimálne záruky prenositeľnosť medzi rôznymi systémami.
Tento článok je určený pre všetkých, ktorí chcú pristupovať k problému súčasných programovacích jazykov na nízkej úrovni. Táto prezentácia predpokladá, že čitateľ už získal základné znalosti jazyka C, nebudú považované za základné témy, ako je napríklad správa pamäte a dátové typy.
Ako možno ľahko uhádnuť z jeho názvu, POSIX vlákna knižnice sú súčasťou sady POSIX (Portable rozhranie operačného systému [pre Unix]). Citovať definícia "pthread [...] špecifikuje sadu rozhraní (funkcia, hlavičkové súbory) pre závitové programovanie na jeden proces môže [...] obsahovať viac vlákien, z ktorých všetky sú rovnaké spustenie programu [...] Rovnaký podiel globálnej pamäte (dáta a halda segmenty), ale jeho Každé vlákno má vlastný zásobník. " Tento úryvok popisuje presne to, co sa podieľa na plánovaní multi-vlákna v prostredí POSIX:
Použitie štandardu POSIX poskytuje vysokú úroveň integrácie všetkých POSIX-kompatibilné systémy, ako je napríklad GNU / Linux, Mac OS X, BSD, a dokonca aj Microsoft Windows (s niektorými doplnkami). Počas tohto článku sa budeme odkazovať na používanie prekladača GCC sa pod GNU / Linux, samozrejme, všetky úvahy prevedené na iné POSIX podobné prostredia.
Knižnica pthread.h ponúka všetko, čo potrebujete pre programovanie v multi-vlákna, skôr než aby len zoznam ponúkaných primitív, budeme predstavovať praktický príklad z času na čas diskutovať o ich rozdiely.
Takže zvážte nasledovné problém: bankovým prevodom program na čítanie súborov z rôznych zberu a / alebo Kaucia sa na účet, takže tieto súbory budú mať nasledujúce podobu:
120 -550 896 5541 -85 ...Ak chcete urýchliť rôzne závity "Pokladňa" prevádzkujú na jednom súbore a zároveň aktualizovať účtu zákazníka, sme vykonali všetky operácie výstup stav účtu.
| |
Linux (kurz)
Kompletný sprievodca pre open-source systém. Od 49 €. |
| |
MySQL (kurz)
Správa open-source databázu. Od 39 €. |
| |
OpenOffice (ebook)
Open-source softvér pre riadenie úradu práce. Na iba 25 €. |