Dengan versi standar POSIX yang lebih lama, metode pertama dengan penginisialisasi hanya dijamin untuk bekerja dengan variabel yang dialokasikan secara statis, bukan jika variabel tersebut adalah auto
variabel yang ditentukan dalam badan fungsi. Meskipun saya belum pernah melihat platform di mana hal ini tidak diizinkan, bahkan untuk auto
variabel, dan batasan ini telah dihapus dalam versi terbaru dari standar POSIX.
The static
varian benar-benar lebih baik jika Anda dapat, karena memungkinkan untuk menulis kode bootstrap jauh lebih mudah. Kapanpun pada waktu proses Anda memasukkan kode yang menggunakan mutex seperti itu, Anda dapat yakin bahwa mutex tersebut diinisialisasi. Ini adalah informasi berharga dalam konteks multi-threading.
Metode yang menggunakan fungsi init lebih disukai ketika Anda memerlukan properti khusus untuk mutex Anda, seperti rekursif misalnya atau dapat dibagikan antar proses, tidak hanya di antara utas.