Junior — Middle
Омӯзиши истифодаи ҳамоҳангсозӣ дар иҷрои корутинҳо, ки дар Main Dispatcher оғоз шудаанд, барои баланд бардоштани бехатарии тағйирёбии умумӣ ҳатмӣ аст?
sobes.tech AI
Ҷавоб аз AI
Агар корутинҳо дар Main Dispatcher (яъне дар ҷараёни асосӣ) оғоз ёбанд, одатан барои зиёд кардани тағйирёбандаи умумӣ ниёз ба ҳамоҳангсозӣ нест, зеро код дар як ҷараён ба таври пайдарпай иҷро мешавад.
Аммо, агар тағйирёбанда аз дигар ҷараёнҳо ё dispatcherҳо тағйир дода шавад, пас ҳамоҳангсозӣ барои пешгирии ҳолатҳои рақобат зарур аст.
Маслиҳат барои зиёд кардани бехатари тағйирёбанда дар Main Dispatcher:
var counter = 0
fun increment() {
// Дар Main Dispatcher иҷро мешавад, бинобар ин ҳамоҳангсозӣ лозим нест
counter++
}
Агар дастрасӣ ба тағйирёбанда аз ҷараёнҳои гуногун бошад, истифодаи Mutex ё намудҳои атомиро тавсия медиҳем.