私は、一方の端で値を設定するためにThreadLocalを使用しており、もう一方の端で get メソッドを使用して値を取得しています。以下のコードは次のとおりです。
public class sample()
{
public ThreadLocal<Object> tl1 = new ThreadLocal<Object>();
protected void Page_Load(object sender, EventArgs e)
{
Thread thread = new Thread(new ThreadStart(Myfunction));
setname("myval");
thread.Start();
}
public void setname(String name)
{
tl1.Value = name;
}
public String getname()
{
return (String)tl1.Value;
}
public void Myfunction()
{
String value=getname();
}
}
私はこれでsetnameメソッドで値を正しく設定しました..
しかし、別のスレッドでその値を取得しようとすると、セット値の名前がnullに変更されます。
ex: "myval" changed to "null"
どうすればこの問題を解決できますか