Junior — Middle
Рол ва мақсади механизми баст (Lock) дар барномаи бисёрпайдаро чӣ аст?
sobes.tech AI
Ҷавоб аз AI
Механизмии бастабандӣ (Lock) дар барномаи бисёртредӣ барои таъмини истиснои мутақобил дар дастрасӣ ба захираҳои умумӣ истифода мешавад. Вай асосан вазифадор аст, ки пешгирӣ кунад, ки маълумотҳо дар як вақт аз ҷониби чанд тред тағир дода шаванд, ки метавонад ба ҳолатҳои рақобат ва рафтори номуайян дар барнома оварда расонад.
Ҳангоми як тред бастабандиро ба даст орад, тредҳои дигар, ки кӯшиш мекунанд, онро ба даст оранд, то он даме, ки он озод карда шавад, интизор мешаванд. Ин кафолат медиҳад, ки танҳо як тред дар як вақт метавонад қисмати критикии коди марбут ба захираи умумиро иҷро кунад.
Масалан дар C#:
private readonly object _lockObj = new object();
public void IncrementCounter()
{
lock (_lockObj)
{
// Қисмати критикӣ
counter++;
}
}
Ин ҷо, lock кафолат медиҳад, ки амали афзоиши ҳисобгар атомӣ аст ва аз ҷониби дигар тред қатъ намешавад.