GCD (Grand Central Dispatch) is a framework to managing task with concurrent operations provided by Apple. In GCD, this system works with a number of tasks into dispatch queues which will in turn run on multiple threads and will be managed by system. A queue is a block of code that can be run sync or async in either the main or background thread.
To perform multiple batch async tasks in the background
, or receive
a notification once they completed we can used Dispatch Group.
We will use the Dispatch Semaphore to limit of concurrent simultaneous task in executing a queue.