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