0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

デッドロックとは

Posted at

はじめに

自分の勉強用にデッドロックについてまとめます。
参考リンクにとてもお世話になりました!

デッドロックとは

共有資源を使用する2つ以上のプロセスが、互いに相手プロセスが必要とする資源を排他的に使用していて、互いのプロセスが相手が使用している資源の解放を待っている状態。
両方のプロセスが永久的な待ち状態に陥ってしまうため、処理が続行できなくなる。
デッドロック.png

デッドロックを回避するためには

以下のような対応が一般的

  • アクセスする資源の順番を一貫する
  • 不必要にロックをかけない
  • 不必要にトランザクションを長くしない
  • 不必要にFOR UPDATE(トランザクションが終了した時に更新)でロックしない
  • 可能な限り行ロックを採用する(資源全体でなく、更新対象のみロック)

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?