アプリケーションプロセスは次のとおりです: Xiao Ming
カーネル: Xiao Wang
1 ブロッキング I/O モデル:
Xiao Wang は調理用の米を当面持っていませんでしたが、Xiao Ming は持っていました。このときは他に何もせず(たとえば、この時間はまだ野菜を洗うことができます)、シャオ・ワンが米を食べるまでそこで待っていました。それからシャオ・ミンは米を家に運び、調理を始めました。
2 ノンブロッキング I/O モデル:
シャオ ミンはシャオ ワンからご飯を借りて調理しました。しかし、シャオ ミンは毎回野菜を洗いに行きました。食器を洗い、シャオ・ワンに米を準備するように頼みました。それではシャオ・ワンが米を用意するまで、シャオ・ミンは米を家に運び、炊き始めます。
3 I/O 再利用モデル:
村の多くの人々は調理用の米を持っていなかったので、全員がシャオワンに米を借りに行きました。この場合、シャオ・ワンからお米を借りている人が時々シャオ・ワンに尋ねるか、どこかでシャオ・ワンの知らせを待っているかに関わらず、お米を借りている人は少なくとも他のことはうまくいかないでしょう
このように、全員がエージェントを見つけ、全員がエージェントと状況について話し合い、エージェントがシャオ・ワンと対話できるようにします。データが届くとエージェントが特定の人に通知し、その人は自宅に米を運んで炊飯を開始する。
4 信号駆動モデル:
シャオミンは料理のためにシャオワンから米を借りましたが、シャオワンはまだそれを持っていませんでしたが、シャオミンはこの時点でどこかで待ったりシャオワンに頼んだりせずに野菜を洗いに行きました。ワンさんはそれを受け取り、シャオミンに通知します。通知が届くと、シャオミンは米を家に運び、調理を始めます。
5 非同期モデル:
Xiao Ming は Xiao Wang から米を借りて料理をした後、Xiao Wang が米を持っているときは、率先してご飯を運びました。シャオミンの家に米が届いたという知らせが届き、シャオミンは炊き始めた。
同期: アプリケーション プロセスは、データをユーザー空間にアクティブにコピーします。
非同期: カーネルは、このプロセス中にデータをユーザー空間にコピーする責任を負いますが、アプリケーション プロセスは引き続き独自の処理を実行します。
ブロッキング、ノンブロッキング、I/O多重化、シグナルドライバー、すべて同期。最後の非同期が本当の非同期です。
以上が5 で oi モデルを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。