Безопасен ли этот поток кода Core Graphics?

Я знаю, что можно рисовать в любой теме, пока я звоню.

UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);
UIGraphicsEndImageContext();

в той же теме.

Создание снимка экрана с помощью этого метода занимает около 300 мс, что неплохо, но я нахожусь в сложной ситуации, поэтому я хочу сделать это в фоновом потоке.

Вот что я делаю:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);
        [view.layer renderInContext:UIGraphicsGetCurrentContext()];
        UIImage * screenshot = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
    });

Единственное, о чем здесь идет речь, этоview, который лежит на основной ветке. Это безопасно звонитьrenderInContext наview.layer из фоновой темы? Или вообще безопасно ли только чтение объекта UIKit из другого потока?

(И, пожалуйста, не давайте мне ответ по умолчанию "UIKit не является потокобезопасным". Я уже знаю это. Это особый случай (и не говорите, что особых случаев нет).)

(приведенный выше код работает нормально, но я не уверен, что это просто совпадение.)

Ответы на вопрос(1)

Ваш ответ на вопрос