私はいくつかのスレッドセーフなメソッドを書き込もうとしているので、以下を使用しています:
...
dispatch_queue_t main = dispatch_get_main_queue();
dispatch_sync(main,^{
[self doSomethingInTheForeground];
});
...
しかし、私が必要のないメインスレッドにいて、それらのディスパッチ呼び出しをすべてスキップできる場合は、現在どのスレッドにいるのか知りたいです。どうすればこれを知ることができますか?
または、おそらくそれは(パフォーマンスに)違いをもたらさないのでしょうか?
この比較をしても大丈夫ですか?
if (dispatch_get_main_queue() == dispatch_get_current_queue()){...}