Step 1: Declare a concurrent queue .initialInactive
Step 2: Call the function having a sync closure.
let concurrentQueue = DispatchQueue(label: "com.semaphore", attributes: [.concurrent, .initiallyInactive])
func call() {
print("1")
print("7")
concurrentQueue.sync {
}
print("13")
}
Output: 1, 7
For the below execution
func call() {
print("1")
print("7")
concurrentQueue.activate()
concurrentQueue.sync {
}
print("13")
}
Output: 1, 7, 13