Junior — Middle
Оё метавонед шарҳ диҳед, ки дар кор бо базаҳои додаҳо ё дар барномасозии бисёрсӯроҳ чӣ маъно дорад, ки амалияи атомӣ номида мешавад?
sobes.tech AI
Ҷавоб аз AI
Ҳаракатли амалия — бу тўлиқ амалга ошириладиган ёки умуман амалга оширилмайдиган амалия, ўртасидаги ҳолатларсиз. Маълумотлар базасида бу шундай маънони англатадики, транзакция муваффақиятли тугади ва барча ўзгартиришлар тасдиқланади, ёки хато бўлса, барча ўзгартиришлар бекор қилинади, маълумотлар яхлитлигини таъминлайди.
Кўп иш парчаларида, атомликлик, умумий ресурслар (масалан, ўзгарувчини ошириш) устидан амалга ошириладиган амалияни бир бўлак қилиб, рақобат шартлари ва маълумотлар нотўғрилигини олдини олади.
Swiftда атомик хусусиятдан фойдаланиб атомик амалиянинг намунаси:
import Foundation
class Counter {
private let queue = DispatchQueue(label: "counter.queue")
private var _value: Int = 0
var value: Int {
return queue.sync { _value }
}
func increment() {
queue.sync {
_value += 1
}
}
}
Бу ерда, ошириш амалияси синхронлаштирилган навбатда амалга оширилади, бу амалияни атомик қилади.