達成しようとしていることのために複数の接続を維持する必要はありません。Javascript の非同期性により、他の処理が行われている間も接続を維持できます。シングル スレッドであるため、javascript の XHR がブロックされていると考えたことがあるかもしれません。
JavaScript の XHR は、イベント ループ モデルのため、非ブロッキングです。JavaScript エンジンは常にループ内にあり、登録された呼び出しが完了したかどうか、およびそのコールバックを処理する必要があるかどうかを確認します。これにより、その操作がノンブロッキングになり、単一の JavaScript アプリケーションが複数の XHR ロング ポーリング リクエストを処理できるようになります。
リクエストに jQuery を使用できる場合は、この関数で XHR を適切にラップします: http://api.jquery.com/jQuery.ajax/。これにより、20 秒のタイムアウトを定義し、すぐに処理できます (サーバーとの接続を再開するため)。
余談 - 長いポーリングを最適化するためにサーバー スタックを検討することをお勧めします。Web サーバーが (Apache 2.2 のように) 要求ごとにスレッドを生成しないようにしてください。そうしないと、システム リソースがすぐに不足してしまいます! node.js (多数の同時リクエストの処理に最適) を使用できる場合は、サーバー側およびクライアント側のソリューションとして socket.io ライブラリを調べてください (http://socket.io/#home)。