Потоки языка

Objective-C

Objective-C поддерживает многопоточность в приложениях. Проблемы могут возникнуть если два и более потока решат одновременно модифицировать одни и те-же данные экземпляра класса. Чтобы избежать данных коллизий необходимо синхронизировать потоки во время изменения критических значений переменных

Для этого используется директива @synchronized(), которая переключает приложение в однопотоковый режим на время выполнения критического кода:


- (void)criticalMethod

{
    @synchronized(self) {

        //  Критический код.

        ...

    }
}

В скрытом виде objective-c синхронизирует код в сеттерах свойств @properties, используемых по умолчанию как atomic.

Более подробно о многопоточности в среде Cocoa описано в разделе "Многопоточность".

 
 
homeЗаметили ошибкукарта сайта 
   Made on a Mac