TAS; Test-And-Set
WHAT
DEF
1. is HW synchronization primitive
HW primitive for synchronization
HOW
boolean TestAndSet(boolean &target) {
boolean rv = target;
target = true;
return rv;
}how to provide Mutual Exclusion?
boolean lock = false;
do {
while (TestAndSet(lock));
{CRITICAL_SECTION};
lock = false;
{REMAINDER_SECTION};
}