デッドロックの概念とデッドロックの条件

零下一度
リリース: 2017-06-23 16:16:22
オリジナル
2634 人が閲覧しました

1. デッドロックの概念

複数のスレッドの同期が適切に設計されていない場合、デッドロックが発生します。デッドロックとは、複数のスレッドが特定のリソースを共有し、互いのリソースが解放されるのを待っているため、プログラムが停滞する状況を指します。

デッドロックはプログラムの停滞を引き起こすため、マルチスレッドプログラムを書く際にはデッドロックを避けるように注意する必要があります。実際、2 つのスレッドが同じ順序で重要なリソースにアクセスする限り、上記の問題は簡単に解決できます。 ロックタイムアウトを設定します。この方法はデッドロックを回避するためにも使用できます

2. デッドロック条件

相互排他条件: リソースは共有できず、1 つのプロセスのみが使用できます。

リクエストと保持の条件: リソースを取得したプロセスは、再度新しいリソースを申請できます。

非剥奪条件: すでに割り当てられているリソースを、対応するプロセスから強制的に剥奪することはできません。

ループ待ち状態: システム内の複数のプロセスがループを形成し、ループ内の各プロセスは隣接するプロセスが占有するリソースを待っています。

以上がデッドロックの概念とデッドロックの条件の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート