let semaphore = DispatchSemaphore(value: 1)
DispatchQueue.global(qos: .background)
Does this mean if i use this semaphore to make a specific block of resource to be accessed by only one thread at a time, it will block the entire threads running in the background ( or ) only blocks the threads that demands the resources