Я пытаюсь написать некоторые потокобезопасные методы, поэтому я использую:
...
dispatch_queue_t main = dispatch_get_main_queue();
dispatch_sync(main,^{
[self doSomethingInTheForeground];
});
...
Но если я нахожусь в основном потоке, в этом нет необходимости, и я могу пропустить все эти диспетчерские вызовы, поэтому я хотел бы знать, в каком потоке я сейчас нахожусь. Откуда я могу это знать?
Или, возможно, это не имеет значения (в производительности)?
Можно ли делать это сравнение?
if (dispatch_get_main_queue() == dispatch_get_current_queue()){...}