Кварц 2D потокобезопасность
Q: Действительно ли Кварц 2D ориентированный на многопотоковое исполнение?
A: Кварц ориентирован на многопотоковое исполнение в целом, но отдельные Кварцевые объекты не. В целом можно воздействовать на любой объект на любом потоке, пока Вы гарантируете, что никакие два потока не воздействуют на тот же объект одновременно. Самый простой способ достигнуть этого не состоит в том, чтобы совместно использовать Ваши объекты между потоками.
Существует несколько дополнительных вещей, которые необходимо не упустить:
Если Вы будете иметь многократное получение CGContextRefs к тому же окну или побитово отобразите контекст и содержание тех перекрытий CGContextRefs, то Вы получите неопределенное поведение.
В случае многократного CGPDFContextRefs, пытаясь нарисовать к различным CGPDFContextRefs, указывающим на тот же CGDataConsumerRef, не целесообразен.
История версии документа
| Дата | Примечания |
|---|---|
| 13.08.2013 | Обновленное форматирование. |
| 25.02.2003 | Новый документ, объясняющий проблемы потокобезопасности для Кварца 2D API. |