どのようにSpringMVCのデフォルトシングルトン保証パフォーマンス

質問:デフォルトビーンが作成したSpringMVCは、単一の一例であり、高い同時実行の場合には、性能を確保する方法ですか?

まず、すべての人の思考は、確かに影響力のある、あなたが考える、シングルトン名前が意味:キューに入れられすぎて...高トラフィックを、あなたは、サーバーとユーザーエクスペリエンスへの圧力を想像することができない...どのように良いです〜あまりにも長く待ちます

この理解は、Java APIが呼び出され、基本的に間違っている、ThreadLocalのがありますが、異なるスレッド春シングルトンの間でパラメータを切り替えるためにそれを使用。ThreadLocalのスレッドセーフでは実際には、キーが現在のスレッドのThreadLoacalスレッドインスタンスである、ということを確認することです。パラメータはシングルトン、春にThreadLocalのにセキュリティ上の問題があるかもしれないスレッドに各スレッド値。この動作の例であるが、異なるスレッドの下でデータを大幅に実行時間を減少させるため、Beanの作成および破壊の互いに分離されているが、ほとんどのシナリオでのメモリリソースのより少ない消費は、この方法があります高い同時実行の、より明白な利点。

全体的にはかなりの節約として単利モデルが作成し、インスタンスを破壊して、パフォーマンスを向上させるために、そしてThreadLocalのスレッドの安全性を確保するのに役立つということです。シングルトンは春推奨構成です、それは非常に圧力の下でサービスの向上、高い同時実行の下で資源を節約することができます

おすすめ

転載: blog.csdn.net/iroguel/article/details/78357327