この記事で書かれている ios はすべて Java bio システム (つまり、jdk1.0 でリリースされた io) であり、JDK1.4 以前ではこれが唯一の選択肢でしたが、プログラムは直感的でシンプルで理解しやすいです。
BIO: 同期とブロック。サーバー実装モードは 1 つの接続と 1 つのスレッドです。つまり、クライアントが接続要求を行うと、サーバーは処理のためにスレッドを開始する必要があります。この接続が何も行わない場合、不要なスレッド オーバーヘッドが発生します。もちろん、これはスレッド プール メカニズムによって改善できます。 BIO 方式は、接続数が比較的少なく固定されたアーキテクチャに適していますが、この方式ではサーバー リソースに対する要件が比較的高く、同時実行性はアプリケーションに限定されます。
BIO
同期ブロッキング IO は、オペレーティング システムのネットワーク プログラミングや任意の言語でのネットワーク プログラミングを学習したことがある人なら誰でもよく知っていると思います。while ループ内で、サーバーは呼び出します。 accept メソッドは、クライアントからの接続要求の受信を待ちます。接続要求が受信されると、通信ソケットを確立して、この通信ソケット上で読み取りおよび書き込み操作を実行できます。この時点では、他の接続要求を受信できなくなります。現在接続されているクライアントに対する操作の実行が完了しました。
BIO が複数のクライアント要求を同時に処理できるようにしたい場合は、マルチスレッドを使用する必要があります。つまり、各受け入れブロックがクライアントからの要求を待ちます。接続要求が受信されると、通信が行われます。ソケットが確立され、処理のために新しいスレッドが開かれます。このソケットのデータ読み取りおよび書き込み要求は、すぐに受け入れられ続け、他のクライアント接続要求を待ちます。つまり、各クライアント接続要求に対してスレッドが作成されます。
ただし、現時点では、サーバーは高い同時実行機能を備えており、複数のクライアント要求を同時に処理できます。開いているスレッドの数が増えると、メモリ リソースが消費され、サーバーの速度が低下したり、クラッシュしたりする可能性があります。
IO 方式は、接続数が比較的少なく固定されているシナリオに適しています。この方式では、サーバー リソースに対する要件が比較的高く、同時実行性はアプリケーションに限定されます。
関連する学習の推奨事項: Java 基本チュートリアル
以上がJavaのバイオとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。