最近、同僚がコードを思いつき、コードのスレッド セーフについて意見を求めてきました。以下は、コードと同じシナリオを示す例です。
public class classA
{
public int DoWorkA()
{
//some logic
}
}
public class classB
{
public static classA objA = new classA();
}
public class classC
{
int DoWorkC ()
{
return classB.objA.DoWorkA();
}
}
ClassB.objA.DoWorkA() が ClassC、ClassD などの異なるクラスの異なるインスタンスで同時に呼び出された場合、スレッド化または「オーバーラップ」の問題は発生しますか? objA をインスタンス メンバーに変換する必要がありますか?