Peterson算法是一个实现互斥锁的并发程序设计算法，可以控制两个进程访问一个共享的单用户资源而不发生访问冲突。Gary L. Peterson于1981年提出此算法 。
算法概要.Peterson算法是基于双线程互斥访问的LockOne与LockTwo算法而来。LockOne算法使用一个flag布尔数组，LockTwo使用一个turn的整型量，都实现了互斥，但是都存在死锁的可能。Peterson算法把这两种算法结合起来，完美地用软件实现了双线程互斥问题。算法使用两个控制变量