Преглед садржаја:
Дефиниција - Шта значи Изјава о закључавању?
Изјава о закључавању, у Ц #, је изјава која садржи кључну реч „закључавање“ и користи се у вишеструким очитавањима да би се осигурало да тренутни конац извршава блок кода како би га други комплети провели без прекида. Изјава о закључавању добије закључавање међусобне искључености за одређени објект тако да једна нит извршава блок кода у исто вријеме и излази из блока кода након отпуштања браве.
Изјава о закључавању је ексклузивна конструкција закључавања која се користи да се осигура синхронизовани приступ дељеним подацима у вишеструким програмима. Помаже у заштити интегритета променљивог извора који дели више нити без стварања сметњи између тих нити. Изјава о закључавању може користити синглетон објект да спречи истовремено приступање његових заједничких података од стране више клијената.
Изјава о закључавању је примарни примитивни синхронизација доступан у библиотеци .НЕТ Фрамеворк Цласс. Аутоматски генерише доследан и безбедан код изузетка који може да поднесе потребе за синхронизацијом у програмима са више нити. Такође пружа једноставан начин за контролу синхронизације генерисањем ефикасног кода, што спречава грешке које могу бити изазване ручно писаним кодом.
Тецхопедиа објашњава Изјаву о закључавању
Изјава о закључавању треба имати аргумент референтног типа, а не типа вредности. Уопштено, препоручује се закључавање на приватном члану или приватном статичком члану ради заштите података који се деле међу свим инстанцама објекта. Будући да закључавање у јавном типу или инстанцама које су изван контроле кода могу резултирати ситуацијама у којима мртве нити чекају издање једног објекта који се користи за изјаву о закључавању, морају се избегавати.
Примјер употребе изјаве о закључавању може бити вишеслојна апликација у којој објект рачуна са методом за повлачење стања користи извод закључавања како би се спријечило да више нити истодобно извршава исту методу, што би стање могло гурнути на негативан број .
Тело изјаве о закључавању мора бити мало да би се смањило време потребно за остале нити које чекају на закључавање, смањујући шансе за застој и минимизирајући могућност да ће се догодити изузетак.
Ограничења у кориштењу изјава о закључавању укључују да се оне могу користити само са подацима који су релевантни за тренутну апликацију. Изјаве о закључавању такође не могу да подрже истек времена.