2025/05/07 20:28:03 JST 
  Index     ITCL     Item 検索 詳細 
スレッドセーフ               
マルチスレッド環境では、一つのデータや手続きを同時に複数のスレッドが利用しようと
することがある。このとき、一方のスレッドがあるデータを操作したことで他のスレッド
が利用するデータが破壊されてしまうことがある。
プログラムで、このようなことが起きないように作られている場合、これを
「スレッドセーフ」であるという。
例、
変数には「クラス変数」「インスタンス変数」「ローカル変数」があり、「ローカル変数」
はスタック領域に、「クラス変数」「インスタンス変数」はヒープ領域に置かれる。
ヒープ領域の変数は、他のスレッドにより破壊される危険性があり、安全な変数として
扱われるのは、ローカル変数のみ。対象のサーブレットクラス(doPost()メソッドや
doGet()メソッドが定義されているクラス)で利用している変数が全てローカル変数ならば、
それは変数の面でスレッドセーフであるといえる。