Mengapa saya Tidak Atom di Jawa?
Di Jawa, pengendali i bukan atom kerana pertimbangan kecekapan. Atomicity, walaupun wajar, membawa overhed yang ketara dalam penyegerakan perisian dan perkakasan.
Dengan menjadikan i bukan atom, Java mengoptimumkan pelaksanaan kod, mengelakkan kos penyegerakan yang tidak perlu. Adalah penting untuk ambil perhatian bahawa dalam kebanyakan kes, atomicity tidak penting untuk operasi i.
Selain itu, mengekalkan keserasian Java dengan C dan C memainkan peranan dalam keputusan reka bentuk ini. Atomicity akan memperkenalkan percanggahan dalam sintaks dan semantik, yang boleh mengelirukan pengaturcara yang beralih daripada bahasa seperti C ke Java.
Selain itu, walaupun pada tahap arahan mesin, operasi kenaikan atom sering disertakan dengan penalti prestasi. Pada seni bina x86, "awalan kunci" khas diperlukan untuk menjadikan arahan inc menjadi atom. Kos ini akan memperlahankan kenaikan bukan atom dengan ketara, yang membawa kepada overhed yang tidak diperlukan.
Sesetengah seni bina set arahan, seperti MIPS, tidak mempunyai operasi kenaikan atom asli sama sekali. Dalam kes sedemikian, kenaikan atom memerlukan gelung perisian yang kompleks menggunakan arahan berpaut beban (ll) dan syarat stor (sc) untuk memastikan ketekalan data.
Atas ialah kandungan terperinci Mengapa i Bukan Atom di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!