Rumah >pembangunan bahagian belakang >C++ >Adakah C Integer Membaca dan Menulis Sentiasa Atom?
Adakah C Reads and Writes bagi int Atomic?
Soalan berkenaan dengan keatoman operasi baca dan tulis integer dalam C . Atomicity memastikan bahawa operasi selesai sebagai satu unit yang tidak boleh dibahagikan, memastikan tiada gangguan berlaku semasa proses.
Jawapan kepada soalan ini bergantung pada seni bina sistem. Pada pemproses seperti IA32, tulisan sejajar ke int biasanya atom. Walau bagaimanapun, penulisan tidak sejajar mungkin tidak bersifat atom bergantung pada sistem caching yang digunakan. Jika memori berada dalam satu baris cache, atomicity dikekalkan; jika tidak, ia tidak.
Selain itu, lebar bas antara CPU dan RAM boleh mempengaruhi atomicity. Dalam kes pemproses lama seperti 8086 dengan bas 16-bit, tulisan 16-bit yang diselaraskan adalah atom, manakala operasi yang sama tidak dijamin pada 8088 dengan bas 8-bit.
Untuk C/ C, adalah penting untuk mengisytiharkan nilai yang dikongsi sebagai tidak menentu. Ini menghalang pengoptimum daripada menganggap pembolehubah tidak akan diubah suai dalam urutan, memastikan nilai sebenar sentiasa dibaca.
Atas ialah kandungan terperinci Adakah C Integer Membaca dan Menulis Sentiasa Atom?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!