Servletのマルチスレッド動作
Servletは初回リクエストをうけ、サーバー上で1度起動されると
以降再度リクエストがあった場合起動済みのServletを再利用する
また複数のリクエストが同時にあった場合にも対応できるよう
マルチスレッド動作が可能となっている
ただ同時にリクエストを受け、並行で処理をしている中で
変数の値が共有されてしまい動作異常をおこしてしまう可能性があります
synchronizedメソッド
この時動作異常をおこしてしまう個所を下記の通りsynchronizedメソッドで囲んでやることで、並行処理の中でも順番待ちが行われるようになる
(排他処理)
synchronized (this) {
//並行処理時の動作異常となる処理;
}
排他処理がされ、並行処理でも正常に動作することをスレッドセーフと呼ぶ