dopost/doget のいずれかによって呼び出されるサーブレット メソッド内の友人は、次のようなコードを持っています。
synchronized (this)
{
String filePath="E:\\FSPATH1\\2KL06CS048\\";
System.out.println("Directory Created ????????????"+new File(filePath).mkdir());
}
上記のサーブレットの複数のスレッドが一度に上記のコード ブロックに入ることができるかどうか??
しかし、サーブレットのライフサイクルの概念では、サーブレットのインスタンスは 1 つしかなく、そのサーブレットの各リクエストに対して、そのインスタンスで 1 つのスレッドが作成されると述べています。
実際、私の要件は
- リクエストを作成します(サーブレット呼び出しとこのサーブレットのジョブはサーバーにディレクトリを作成しています)
- サーブレット呼び出しから戻ったら、作成したディレクトリの名前を変更しています。
- 名前を変更している間、別のスレッドが同じディレクトリを作成してディレクトリの内容を変更してはなりません。このため、サーブレットのコードの種類を同期したい