Junior — Middle
Szükséges-e szinkronizációt alkalmazni, amikor száz korutina egyidejűleg frissít egy változót, amelyek a Dispatchers.Main-on futnak?
sobes.tech MI
Válasz az MI-től
Ha minden korutina a Dispatchers.Main-on fut, akkor egyetlen szálon — az Android fő UI szálán futnak. Ebben az esetben nem történik párhuzamos hozzáférés a változóhoz, mivel a kód egy szálon szekvenciálisan fut.
Ezért általában nem szükséges szinkronizálás a Dispatchers.Main-on futó korutinokból származó változó frissítésekor. Azonban, ha a változó más szálakról is módosítható, akkor a szinkronizáció szükséges.
Példa: ha 100 korutina van a Dispatchers.Main-on, azok egymás után futnak, és nem lesz versenyhelyzet.