GCD is a new approach to coding on multi-core CPUs that simplifies writing code that uses all of the CPUs. it uses a new feature in Objective C (and I think eventually C) is Blocks where a section of code is marked using ^, i.e. it's effectively the same as an anonymous function. This marked block is then run in parallel on a different CPU, with optional synchronization to the main thread, perhaps if the main thread is doing GUI updates which can only be done in the main thread.
Interestingly enough, the user space implementation of GCD has been open sourced in the library libdispatch and is available on macosforge.org licensed under the Apache version 2.0 License. Note this code is C (not Objective C) but it must support Blocks in the C compiler e.g. Clang.
- Link to Code Library for Mac OS X

