检查并设置 在計算機科學中檢查並設置testandsetlockTSL是一種不可中斷的原子運算TSL对某個記憶體位置写入set並返回其舊值 在多个进程可同時访问記憶體同个地址时如果一個程式正在執行TSL其他程式在它執行完成前不能執行TSL中央處理器可提供TSL指令或利用如雙埠隨機存取記憶體Dualported RAM等其它電子元件所提供的機制实现TSL 下述为一種利用TSL指令來實現自旋鎖 function Lockboolean lock  while testandset lock      當舊值為  時這程序可以得到鎖否則的話它會一直嘗試將  寫入記憶體位置直到舊值為  锁lock的状态一般是未锁与已锁因此下列testandset的实现是等价的 if lock then 置锁 进入临界区 else 忙等待 重新测试 endif 读取lock状态 lock被置为 测试读出的lock状态判断进入临界区还是忙等待 x汇编指令BTS意味Bit Test and Set就是一条原子操作的CPU指令它把由操作数指定地址的锁的状态保存入CF寄存器然后锁被设置为 年Maurice Herlihy英语Maurice Herlihy证明testandset具有一个有限的consensus number英语consensus number能解决不超过个并发进程的无等待consensus英语Consensus computer science问题