計算機科学において、デッドロック (英: deadlock) とは、2つ以上のスレッドあるいはプロセスなどの処理単位が互いの処理終了を待ち、結果としてどの処理も先に進めなくなってしまうことを言う。英語ではもともと行き詰まりの意味である。