Sobes.tech
Junior — Middle

Javaда объектти синхрондоштууда synchronized ачкыч сөзүн колдонуу эмне мааниге ээ?

sobes.tech AI

AIден жооп

Javaда synchronized ачкыч сўзи объектке же код блогуна бир нече жиплар орқали киришда ўзаро чиқишни таъминлаш учун ишлатилади. У, маълум бир вақтда, фақат бир жип синхронлаштирилган кодни бажара оладиганлигини кафолатлайди.

Агар метод ёки блок synchronized сифатида белгиланган бўлса, унга кирган жип объектнинг мониторини (қулфини) олади. Бошқа жиплар, шу объект учун шу синхронлаштирилган блок ёки методга киришга уришаётган бўлса, монитор бўшашини кутадилар.

Масалан:

public class Counter {
    private int count = 0;

    public synchronized void increment() {
        count++;
    }

    public int getCount() {
        return count;
    }
}

Бу мисолда, increment методу count ўзгарувчисининг бир вақтда бир неча жиплар орқали ўзгартирилишини олдини олиш учун синхронлаштирилган, бу рақобат шароитларини олди олади.