※ ChatGPTを利用し、要約された質問です(原文:スレッドセーフ?スレッドアンセーフ?)
スレッドセーフ? スレッドアンセーフ?
このQ&Aのポイント
Struts2におけるスレッドセーフの勉強として以下のコードのスレッドセーフ性についてのご意見を頂きたいです。
インスタンス変数を利用しているため、スレッドアンセーフと考えられます。
以下のコードは、idとnameを取得してinsertする機能を持たせるため、テーブルに対して同時にアクセスする可能性があるため、スレッドアンセーフです。
Struts2にてスレッドセーフを勉強しており
以下のコードがスレッドセーフなのか、それともスレッドアンセーフなのかご意見を頂きたいと思います。
個人的な意見ですが、インスタンス変数を利用しているためスレッドアンセーフになるのではないかと思いますが間違いございませんでしょうか。
//以下 Struts2
public class InsertProgram extends ActionSupport implements ServletRequestAware{
private Test test = new Test();
private String id;
private String name;
public class execute(){
id = request.getParameter("id");
name = request.getParameter("name");
//以下がご意見を頂きたい箇所です。
test.setId(id);
test.setName(name);
test.insert();
return SUCCESS;
}
}
public class Test{
private String id;
private String name;
public String getId() { return id; }
public String getName() { return name; }
public void setId(String id) { this.id = id; }
public void setName(String name) { this.name = name; }
public class insert() {
//割愛致します。 データベースにid 及び name をinsert します。
sql = "Insert into test_db(id , name) ・・・"
}
}
お礼
ご回答ありがとうございます。 また、ModelDrivenや、ModelDrivenInterceptorについて情報を頂きありがとうございます。 解決致しました。