Original sentence: A block in Grand Central Dispatch can either be used to create a work item that is placed in a queue, or it can be assigned to an event source.Grand Central Dispatch extends the C, C++ and Objective-C programming languages with new syntax to mark blocks that can be executed in parallel.Grand Central Dispatch still utilizes threads at the low level, but abstracts them away from the programmer, who will not need to be concerned with as many details.If a block is assigned to an event source, when the event triggers, a work unit is made from the block, and the work unit is placed in an appropriate queue.It is an implementation of the thread pool pattern which has been known for many years.Microsoft Windows has had a system-level thread pool API since Windows 2000.This is described by Apple as more efficient than creating a thread whose whole purpose is to wait on a single event triggering.Work blocks in GCD are lightweight to create and queue, Apple quotes it taking 15 instructions to queue up a work unit in GCD, while creating a traditional thread easily taking several hundred instructions