コードにスピンロックを実装しようとしていますが、ウィキペディアに基づいて実装したスピンロックにより、パフォーマンスが非常に低下します。
int lockValue = 0;
void lock() {
__asm__("loop: \n\t"
"movl $1, %eax \n\t"
"xchg %eax, lockValue \n\t"
"test %eax, %eax \n\t"
"jnz loop");
}
これを改善して高速化する方法はありますか?
ありがとう。