//my_serial_queue is a serial_dispatch_queue
dispatch_async(my_serial_queue, ^{
//access a shared resource such as a bank account balance
[self changeBankAccountBalance];
});
Run Code Online (Sandbox Code Playgroud)
如果我提交100个访问并改变银行账户余额的任务,我理解串行队列将按顺序执行每个任务,但是在使用dispatch_async时这些任务是否也按顺序完成?
如果我异步提交到串行队列的任务#23需要很长时间才能完成怎么办?任务#24只在任务#23完成时启动,还是任务#24在任务#23完成之前启动?如果是这样,任务#24在启动其工作时是否有错误的银行账户余额,从而搞砸数据完整性?
谢谢!!
concurrency objective-c grand-central-dispatch ios dispatch-async