Secara default, C hanya memiliki satu heap.
Yang mengatakan, beberapa pengalokasi yang sadar thread akan mempartisi heap sehingga setiap thread memiliki area sendiri untuk dialokasikan. Idenya adalah ini akan membuat skala heap menjadi lebih baik.
Salah satu contoh tumpukan tersebut adalah Timbunan.
Tidak. Semua utas berbagi tumpukan yang sama.
Setiap utas memiliki tumpukan pribadi, yang dapat ditambahkan dan dihapus dengan cepat dari item. Ini membuat memori berbasis tumpukan menjadi cepat, tetapi jika Anda menggunakan terlalu banyak memori tumpukan, seperti yang terjadi pada rekursi tak terbatas, Anda akan mendapatkan tumpukan berlebih.
Karena semua utas berbagi tumpukan yang sama, akses ke pengalokasi/deallokasi harus disinkronkan. Ada berbagai metode dan pustaka untuk menghindari pertentangan pengalokasi.
Beberapa bahasa memungkinkan Anda membuat kumpulan memori pribadi, atau heap individual, yang dapat Anda tetapkan ke satu utas.