Saya berpikir di sini: Jika Anda memiliki 2 utas yang menjalankan operasi CEPAT yang perlu disinkronkan, bukankah pendekatan nonblocking lebih cepat/lebih baik daripada pendekatan pemblokiran/saklar konteks?
Yang saya maksud dengan non-pemblokiran adalah:
while(true) { if (checkAndGetTheLock()) rusak; }
Satu-satunya hal yang dapat saya pikirkan adalah kelaparan (dengan kehabisan CPU) jika Anda memiliki terlalu banyak utas yang berputar di sekitar kunci.
Bagaimana cara menyeimbangkan satu pendekatan dengan pendekatan lainnya?