ネッティースレッドモデル(5)

網状は、シングルスレッドは、メインスレッドモデル、マスター・スレーブのマルチスレッドモデルをサポートします。

我々は、スレッド・グループを作成するときにパラメータを渡していない場合は、デフォルトのスレッドはコアCPUの数を構築するスレッドグループです。

シングルスレッドモデル

ServerBootstrapが1にメソッドグループ、同一スレッドグループに渡されたパラメータ、およびときにスレッド群構造、構造パラメータを呼び出すとき、この開発手法は、シングルスレッドモデルです。

個人的な開発と試験機の使用は推奨されません。

ServerBootstrapブートストラップ= 新しいServerBootstrap(); 
EventLoopGroup基 = 新しい NioEventLoopGroup(1 )。
bootstrap.group(群、グループ)

第二に、メインスレッドモデル

グループ通話方法をServerBootstrap際に、送信パラメータは、スレッドの2つの異なるセットです。これは、スレッドグループ、1スレッド数、1への設定パラメータを監視する責任があります。クライアントタスクのスレッドグループを処理するための責任、スレッドの数が1より大きい場合、その構造パラメータが1以上です。この開発アプローチは、マルチスレッドモデルです。

ロング接続、および長い期間を使用して接続されたクライアント端末の数が少ないです。以下のような:内部通信アプリケーション。

// 遮断要請スレッドグループ 
EventLoopGroup acceptorGroup = 新新 NioEventLoopGroup(1。);
 // プロセスクライアントタスクスレッドグループ 
EventLoopGroup clientGroup = 新新NioEventLoopGroup(); 

ブートストラップ上ServerBootstrapの = 新しい新; ServerBootstrap()の
bootstrap.group(acceptorGroup、clientGroup)。

第三に、マスタースレーブマルチスレッドモデル

グループ通話方法をServerBootstrap際に、送信パラメータは、スレッドの2つの異なるセットです。スレッドグループを監視する責任があり、スレッドの数が1より大きい場合、その構造パラメータが1以上です。クライアントタスクのスレッドグループを処理するための責任、スレッドの数が1より大きい場合、その構造パラメータが1以上です。この開発アプローチ、マルチスレッドモデルからの主。

長い接続、より長い時間を使用する場合に接続しているクライアントの比較的多数。以下のような:外部に設けられたアルバムサーバ。

EventLoopGroup acceptorGroup = 新しいNioEventLoopGroup(); 
EventLoopGroup clientGroup = 新しいNioEventLoopGroup(); 
ServerBootstrapブートストラップ = 新しいServerBootstrap(); 
bootstrap.group(acceptorGroup、clientGroup)。

 

おすすめ

転載: www.cnblogs.com/myitnews/p/11441523.html