在计算机科学中，锁是在执行多线程时用于强行限制资源访问的同步机制，即用于在并发控制中保证对互斥要求的满足。一般的锁是建议锁（advisory lock），每个线程在访问对应资源前都需取得锁的资讯，再根据资讯决定是否可以存取。若存取对应资讯，锁的状态会改变为锁定，因此其他线程此时不会访问该资源，当资源结束后，会恢复锁的状态，允许其他线程的访问。有些系统有强制锁（mandatory lock），若有未授权的线程想要访问锁定的资料，在访问时就会产生异常。