我有两个队列,它们都是串行的,具有不同的标识符。在我的代码中,我将首先调度queue1然后在队列内部,我将调度另一个队列。
示例代码:
var queue1 = dispatch_queue_create ("com.sample.Queue1", DISPATCH_QUEUE_SERIAL)
var queue2 = dispatch_queue_create ("com.sample.Queue2", DISPATCH_QUEUE_SERIAL)
func function1(){
dispatch_sync(self.queue1, { //queue1
//LineA
dispatch_sync(self.queue2,{ //queue2
//LineB
//Some function need network communication
})
})
}
我将保持执行function1,因此function1中的所有代码将排队并一次运行一次。 (没有并发)
但是,如果我在queue1中运行另一个队列,LineA将在queue2完成所有代码之前调用。
问题:
对不起我的英语,我是多线程编程的新手。