兩個(gè)隊(duì)列的背后很有可能是一個(gè)線程。在使用dispatch_get_current_queue來判斷是否當(dāng)前線程返回的可能不是你想要的結(jié)果。
if (dispatch_get_current_queue() == queue) {
block();
} else {
dispatch_sync(queue, block);
}
特別這種代碼,dispatch_sync到一個(gè)隊(duì)列就鎖死了。