0

このばかげた質問で申し訳ありませんが、本当に混乱しています。間違っているところを訂正していただければ幸いです。

スレッドベースのサーバー (Apache など) では、クライアントごとに新しい「ワーカー」が作成され、すべてのニーズに対応できることを理解しています。

イベント駆動型(Nginx や Tornado など) では、特にPythonの GIL のようなNot Thread Safeがある場合に混乱します。私が理解していることから、すべてのクライアント要求を処理する 1 つの単一ループがあるため、私の馬鹿げた理解として、10,000 の同時接続がある場合、それらの 10 千の要求すべてを処理する方法がわかりません!

4

1 に答える 1

2

イベントドリブンサーバーでは、非ブロッキング呼び出しを使用して、接続(実際には特定の接続からread()のsとwrite()s)を次々に処理します。select()通常、接続( 、、 ...)間で多重化するための呼び出しを使用してpoll()、サービスが必要な接続を通知し、次にそれらをサービスします。

于 2012-12-02T10:58:30.433 に答える