我繼承了代碼庫的iOS的項目,我不知道這是什麼代碼的一點是:奇怪的Objective-C的線程
-(void) someMethod {
FMDatabaseQueue *dbQueue = self.db;
// unimportant stuff
[Async series:@[
^(successBlock success, failureBlock failure) {
dispatch_async(dispatch_get_main_queue(), ^{
[dbQueue inDatabase:^(FMDatabase *db) {
// do database stuff
}];
});
},
^(successBlock success, failureBlock failure) {
dispatch_async(dispatch_get_main_queue(), ^{
[dbQueue inDatabase:^(FMDatabase *db) {
// do other database stuff
}];
});
}
];
}
是否有任何理由來編寫這樣的事情?
我的閱讀是,Async
和dispatch_async()
回到主線程使得線程毫無意義。
它並沒有使它變得毫無意義:異步可能會在後臺執行一些代碼,然後調用完成塊來在主線程中執行某些操作。無論Async的確需要花費大量的時間... – fabian789 2014-12-19 09:23:00