「タスク」クラスのように機能するクラスに、以下のようなコードがあります。このクラスの複数のインスタンスを作成し、threadpool
class Task {
public void doJob() {
String s = informationDto.getName();
}
}
DTO:
class InformationDto{
private String name;
public getName(){}
public setName(String n){}
}
informationDto.getName();発言が気になります。マルチスレッド環境では常に正しい名前が返されますか?
getName()メソッドが静的な場合はどうなりますか?
私が作成しているすべてのクラスinformationDtoにそれぞれを使用したい。Taskこれを行う最良の方法は何ですか?
1)クラスInformationDtoごとに 1 つ保持したい。Task2) インスタンス変数はスレッドセーフではないのでgetName()、メソッドにアクセスするかどうか疑問に思っています (インスタンス変数であるため)、クラスnameに設定した正しい名前を取得できますか? Task3)クラス内でutilクラスを使用するTaskと、スレッドセーフになりますか?そうでない場合、スレッドセーフな方法でユーティリティインスタンスの種類を使用するにはどうすればよいですか?