読者の執筆者の問題は何ですか?

「Readers-Writersの問題」は、複数の読者と作家が同じリソースにアクセスする必要があるときに作成されたプログラミングのジレンマです。それらがすべて一度にアクセスを許可された場合、上書き、不完全な情報、その他の問題などの問題が発生する可能性があります。したがって、プログラマーは、システムとユーザーのニーズを考慮して、どの処理スレッドがリソースを見るかを制御するためのアクセスを制限する場合があります。読者のライターの問題に対処する方法はいくつかあります。最も一般的なソリューションの1つは、ステータスと制御アクセスにフラグを立てるためのセマフォの使用です。

1つの観点から、コンテンツに変更を加えていないため、多くの読者がリソースに安全にアクセスできます。作家が方程式に入ると、状況はより複雑になります。他のスレッドが読んでいる間にスレッドが書いている場合、読者は正しい情報を取得できない場合があります。彼らは変更の一部のみを受け取ることができ、時代遅れの情報を見て、それが正確だと思うかもしれません。

複数の作家も問題を引き起こす可能性があります。同じコンテンツの同時の変更により、それを上書きして他のエラーが作成される場合があります。読者のライターの問題の下で、プログラマーは読者と作家が優先されるかどうか、そしてアクセスを処理する方法を決定する必要があります。読者または作家に優先度を割り当てることも、システムが先着順でアクセスを割り当てることもできます。この3番目のソリューションは長い待機を防ぐかもしれませんが、それ自体の問題がある可能性があります。

読者が優先されるソリューションでは、システムは、アクセスを要求する読者は、アクセスが利用可能になったときに最初に許可されるべきであると想定しています。これは、リソースにアクセスしたい作家が待つ必要があることを意味します。逆に、システムは、ライターが読者に影響を与える可能性のある変更を加える必要があるため、読者のライターの問題の下で優先されるべきであると想定するかもしれません。読者にリソースが完了したときCE、作家は変化を起こすために飛び込むことができます。これは、ドキュメントを保存しようとするなどのユーザーアクションだけでなく、システムを実行し続けるコンピューター内の内部プロセスに適用されます。

別のオプションにより、読者のライターの問題が両当事者のニーズのバランスをとることができ、各処理スレッドアクセスが到着したときにアクセスすることができます。これにより、作家はお互いを無効にしたり、読者を混乱させる変更を加えたり、読者を待たせたり、読者が終了している間に作家を保持させたりすることを妨げます。このような優先順位は、コンピューター内のソフトウェアプログラムまたはメモリアクセス制御に組み込むことができます。ユーザーはプログラミングに満足している場合、システムが許可されている場合に変更を加えることができる場合があります。

他の言語

この記事は参考になりましたか? フィードバックをお寄せいただきありがとうございます フィードバックをお寄せいただきありがとうございます

どのように我々は助けることができます? どのように我々は助けることができます?