Sobes.tech
Junior — Middle

Рол ва мақсади механизми баст (Lock) дар барномаи бисёрпайдаро чӣ аст?

sobes.tech AI

Ҷавоб аз AI

Механизмии бастабандӣ (Lock) дар барномаи бисёртредӣ барои таъмини истиснои мутақобил дар дастрасӣ ба захираҳои умумӣ истифода мешавад. Вай асосан вазифадор аст, ки пешгирӣ кунад, ки маълумотҳо дар як вақт аз ҷониби чанд тред тағир дода шаванд, ки метавонад ба ҳолатҳои рақобат ва рафтори номуайян дар барнома оварда расонад.

Ҳангоми як тред бастабандиро ба даст орад, тредҳои дигар, ки кӯшиш мекунанд, онро ба даст оранд, то он даме, ки он озод карда шавад, интизор мешаванд. Ин кафолат медиҳад, ки танҳо як тред дар як вақт метавонад қисмати критикии коди марбут ба захираи умумиро иҷро кунад.

Масалан дар C#:

private readonly object _lockObj = new object();

public void IncrementCounter()
{
    lock (_lockObj)
    {
        // Қисмати критикӣ
        counter++;
    }
}

Ин ҷо, lock кафолат медиҳад, ки амали афзоиши ҳисобгар атомӣ аст ва аз ҷониби дигар тред қатъ намешавад.