HealthifyMe interview question

Explain DispatchworkItem, DispatchQueue, Dispatchgroups and Semaphores