..


Спонсоред Линкс

Истовремено програмирање у Ц + +

Члан написао Стефано Цанцедда
Страна 1 од 6

Редослед програмирање нуди гаранцију да се инструкције извршавају увек у реду, без варијација. Резултат понашање је детерминистичка: убацивањем исте улазе, излаз се добија исти резултат.
За сваки програм који ради оперативни систем ствара процес који даје заштићене меморијског простора. Ово пружа могућност да су независни процеси који се дешавају истовремено без грешака.

Различите (и напредније) је истовремено програмирања. Пре него што се опсада је да буде представљен и како функционише, по мом мишљењу, одређене врсте објекта под називом кернел нит.

Као објекте кернела теме управља оперативни систем, и имају две основне функције:

  • Свака тема има приватне податке структуру, која чува своје стека, осим информација, следећи инструкције да се изврши;
  • Свака нит дели са цео процес колективног сећања области.
Употреба теме има неколико предности у погледу извршења. Конкретно, у потпуности искористити перформансе за мулти-цоре процесора, који су тренутно доминантни технологија на тржишту за персоналне рачунаре. Незамисливо је да одређене сложеност савремених апликација су дизајниране на секвенцијални начин, тако да може да искористи време, само је један од основних да машина даје.

Као још једну предност, може се посматрати као два различита процеса ради исти код, можда са различитим параметрима, мање су ефикасни од две теме које могу директно да користе заједничку меморију. У систему који не подржава теме, ако желите да покренете више пута исти програм, морате да креирате више радних места на бази истог програма. Ова техника ради, али је разоран ресурса и спорије.

Треће, теме које имају предност уколико се зову И / О блокатори: уместо да се чека догађај изазвао је корисник заустављање извршења алгоритма, можете почети нову тему и спречити непотребно време застоја који се погоршава укупне перформансе.

За разлику од конкурентних програмирање потребна подршка за синхронизацију гради, која су основна да се избегне насумичне приступа дељеним грешке меморије узрок у аутпуту. Такође открива програмер на низ грешака често лоше храњена због непредвидивих понашања детерминистички програма.

Поред тога, синхронизација конструкције имају цену, како у погледу машине време које је потребно да изврши свој код у одређеном перформанс губитак изазван очекивања добијени путем ових конструката у циљу обезбеђивања праведности у спровођењу конкурента.

Главни предмети који омогућавају управљање такмичења су испод очекиваних и детаљно описани у следећим параграфима:

  • Испарљивих елемената
  • Међусобно функције
  • Семафор
  • Критичних деоница
  • Догађаји
  • Тајмер
  • Мутек
Сваки од ових елемената уклапају у природан начин да се реши одређену класу једноставне проблеме. За комплексније проблеме једноставно комбиновање ове објекте заједно да се исправан резултат и задовољавајући пролаз решавање проблема који захтевају употребу једног од најранијих и проблеме који су дефинисани као горе је сложен веома критично. Комбинација синхронизацију објеката може бити компликовано, у најбољем случају, јер не можете да добијете довољно високе перформансе у најгорем случају, јер не можете лако наћи решење које обезбеђује исправност резултата. Не и најмање важно најгорем случају: постоји фатална грешка и није одмах идентификују. Овом тренутку је веома честа, како због осетљивости питања ћемо расправљати, јесте чињеница да је за отклањање грешака је увек проблематична у истовремено окружењу, токови су у извршењу ствари детерминистички, сваки извршење програма, како би процесор обавља операција је увек другачија.

У истој категорији ...
Е-учење
МС Аццесс (Адванцед) МС Аццесс (Адванцед)
Сазнајте како да направите и управљање базама података брзо и лако. Полазећи од 29 €.
ОпенОффице (Ебоок) ОпенОффице (Ебоок)
Опен-соурце софтвера за управљање канцеларијски рад. Само 25 €.
ПХП (курс) ПХП (курс)
Цео курс за креирање динамичких веб сајтова. Од 49 €.
Спонсоред Линкс