NettysドキュメントによればGlobalEventExecutorは、一つのスレッドを使用してインスタンスを1つだけ有することを意味するシングルスレッドシングルトンEventExecutorNettys GlobalEventExecuterは現在のスレッドを利用していますか?
あります。新しいスレッドの中でGlobalEventExecutorを使用します。クラスは常に現在のスレッドを使用しますか、それともすべてのスレッドを使用しますか?
2番目が正しい場合、スレッドプール内でGlobalEventExecutorを使用することは意味をなさないことを意味します。代わりに私の約束のためにスレッドプールを使用しますが、GlobalEventExecutorのようにグローバルにする必要があります。
どうすればこの問題を解決できますか?
私はtheadpoolの中で私自身のtheadプールでPromisesを使うべきですか?または、GobalEventEventexecutorを使用する利点がありますか? –
状況全体を再考することは、以下の考えで終わりました。約束内のGlobalEventExecutorインスタンスは、将来のイベントの発生のみに責任があります。ビジネスロジックの実際の実行とは関係ありません。私のスレッドプールの中でそれを使用することは完全に大丈夫ですか、私はここで何か間違っていますか? –
独自のスレッドプールでそれを使用するのはまったく問題ありませんが、スレッドのコンテキスト切り替え量を最小限に抑えるためにイベントをスケジューリングするときは、グローバル実行プログラムの代わりにチャネルexecuter( 'ctx.exec()') – Ferrybig