私はいつも、この特定のシナリオで永遠に心配していました。のは、私のクラスは、私の質問があり、このはクラスレベルのプロパティまたはスレッドセーフです
public class Person {
public Address Address{get;set;}
public string someMethod()
{}
}
のように見えるとしましょう、私はタイプアドレスのアドレスproperyは、スレッドセーフではありませんことを、私の仲間の開発者によって言われました。 Web要求の観点から
は、すべての要求は、別のスレッドと スレッドが私のビジネスオブジェクトまたは背後にあるコードに次の行を処理するたびに、たとえば上で実行されてvar p = new Person();
それはの新しいインスタンスを作成します私のアプリケーションで複数のスレッドを生成しないかぎり、ヒープ上のPersonオブジェクトはインスタンスにアクセスします。
私が間違っている場合は、どうして私が間違っているのか、なぜパブリックプロパティ(アドレス)がスレッドセーフではないのかを説明してください。
ご協力いただければ幸いです。
ありがとうございました。
"静的フィールドまたはセッションでその参照を保持している場合を除いて"実際には、またはオブジェクトの同じインスタンスをワーカースレッドに渡しています。 –
皆さんありがとうございます、本当に今はたくさんの意味があります。 –