Operasi perbandingan dan pertukaran mungkin tidak memerlukan kunci, bergantung pada platform, tetapi kebanyakan platform menyokong cas tanpa kunci. Kunci paling mudah ialah kunci putaran yang dilaksanakan melalui ujian dan set Sudah tentu, ia juga boleh dilaksanakan melalui cas.
Kunci putaran sememangnya akan terus mencuba apabila kunci gagal, meletihkan sumber CPU. Seperti
Kunci yang disediakan oleh antara muka sistem biasanya akan menggantung benang apabila kunci gagal, sama seperti
while (flag.test_and_set()) { flag.wait_for_unlock_signal(); } // 上锁
wait_for_unlock_signal() di sini ialah fungsi khayalan. Tetapi penguncian masih bergantung pada operasi atom seperti cas. Dalam erti kata lain, kunci kini dilaksanakan melalui beberapa operasi asas atom, seperti ujian dan set dan bandingkan dan tukar.
Operasi perbandingan dan pertukaran mungkin tidak memerlukan kunci, bergantung pada platform, tetapi kebanyakan platform menyokong cas tanpa kunci. Kunci paling mudah ialah kunci putaran yang dilaksanakan melalui ujian dan set Sudah tentu, ia juga boleh dilaksanakan melalui cas.
Kunci putaran sememangnya akan terus mencuba apabila kunci gagal, meletihkan sumber CPU. Seperti
Kunci yang disediakan oleh antara muka sistem biasanya akan menggantung benang apabila kunci gagal, sama seperti
wait_for_unlock_signal()
di sini ialah fungsi khayalan. Tetapi penguncian masih bergantung pada operasi atom seperti cas. Dalam erti kata lain, kunci kini dilaksanakan melalui beberapa operasi asas atom, seperti ujian dan set dan bandingkan dan tukar.