主執行緒同步佇列
#define dispatch_main_sync_safe(block)
if ([NSThread isMainThread]) {
block();
} else {
dispatch_sync(dispatch_get_main_queue(), block);
}
主執行緒非同步佇列
#define dispatch_main_async_safe(block)
if ([NSThread isMainThread]) {
block();
} else {
dispatch_async(dispatch_get_main_queue(), block);
}
保證執行緒在主執行緒執行
相關文章
- iOS 在主執行緒操作UI不能保證安全iOS執行緒UI
- Java中如何保證執行緒順序執行Java執行緒
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- 多執行緒-執行緒控制之休眠執行緒執行緒
- 多執行緒-執行緒控制之加入執行緒執行緒
- 多執行緒-執行緒控制之禮讓執行緒執行緒
- 多執行緒-執行緒控制之中斷執行緒執行緒
- QT 主執行緒子執行緒互相傳值QT執行緒
- 多執行緒-執行緒控制之守護執行緒執行緒
- 執行緒和執行緒池執行緒
- 多執行緒【執行緒池】執行緒
- 多執行緒--執行緒管理執行緒
- Java多執行緒——執行緒Java執行緒
- 執行緒 執行緒池 Task執行緒
- 保證執行緒安全的技術執行緒
- 多執行緒之初識執行緒執行緒
- Java多執行緒-執行緒中止Java執行緒
- 執行緒控制之休眠執行緒執行緒
- Java多執行緒——執行緒池Java執行緒
- c#執行緒-執行緒同步C#執行緒
- 多執行緒-執行緒概述等執行緒
- 執行緒1-單執行緒執行緒
- 執行緒3--執行緒安全執行緒
- 執行緒同步及執行緒鎖執行緒
- Java執行緒:執行緒中斷Java執行緒
- 模擬主執行緒等待子執行緒的過程執行緒
- 【多執行緒總結(二)-執行緒安全與執行緒同步】執行緒
- 執行緒執行順序——CountDownLatch、CyclicBarrier 、join()、執行緒池執行緒CountDownLatch
- Java執行緒中斷與終止執行緒執行Java執行緒
- 主佇列&主執行緒佇列執行緒
- java執行緒之守護執行緒和使用者執行緒Java執行緒
- 執行緒(一)——執行緒,執行緒池,Task概念+程式碼實踐執行緒
- Java下如何保證多執行緒安全Java執行緒
- 怎樣做才能保證執行緒安全?執行緒
- java 多執行緒守護執行緒Java執行緒
- Java多執行緒-執行緒通訊Java執行緒
- Java多執行緒-執行緒狀態Java執行緒
- Java多執行緒(2)執行緒鎖Java執行緒