Junior — Middle
Оё метавонед шарҳ диҳед, ки дар таҳияи Objective-C барои чӣ истифода мешавад синфи NSLock?
sobes.tech AI
Ҷавоб аз AI
Класи NSLock дар Objective-C барои иҷрои мутақобилан истисно (mutex) истифода мешавад, яъне барои ҳамоҳангсозии дастрасӣ ба захираҳои умумӣ байни сӯрохиҳо. Ин ҳолати рақобатро пешгирӣ мекунад, вақте ки чанд сӯрохиҳо ҳамзамон кӯшиш мекунанд, ки маълумоти якхелаиро тағир диҳанд.
Масалан барои истифодаи NSLock:
NSLock *lock = [[NSLock alloc] init];
// Дар яке аз сӯрохиҳо
[lock lock];
// Боби танзимоти муҳим: дастрасии бехатари ба захираи умумӣ
// ...
[lock unlock];
NSLock дар вақти даъвати lock сӯрохиҳоро мепӯшад, агар дигар сӯрохи аллакай блокро нигоҳ дорад, ва дар вақти даъвати unlock онро озод мекунад. Ин роҳи содда ва муассир барои таъмин кардани бехатарии сӯрохиҳо дар барномаҳои бисёрсӯроҳӣ дар iOS/macOS мебошад.