memiliki ratusan atau ribuan threads, contohnya adalah multithread pada webserver. Dengan
begini, merancang aplikasi semacam itu memiliki banyak masalah seperti identifikasi,
pemisahan data, ketergantungan data, dan ketepatan hasil program. Solusi yang dipakai untuk
mengatasi hal tersebut adalah Implicit Threading yang merupakan pembuatan dan
manajemen thread yang dilakukan oleh compiler dan run-time library, bukan programmer.
GCD menjadwalkan blok kode dengan menempatkannya pada salah satu dari beberapa
dispatch queue (serial dan concurrent).
Blok yang ditempatkan pada serial queue akan dihapus dari urutan FIFO. Setelah blok
dikeluarkan, block tersbut harus menyelesaikan eksekusinya dahulu sebelum blok lain
dikeluarkan.
Blok yang ditempatkan pada concurrent queue juga akan dihapus dari urutan FIFO, tapi
beberapa blok dapat dihapus dalam satu waktu, sehingga memungkinkan beberapa blok
mengeksekusi secara parallel. Ada tiga urutan yang dibedakan menurut prioritas : rendah,
default, dan tinggi. Blok dengan prioritas tinggi ditempatkan pada dispatch queue
prioritas tinggi.