(C# - マルチスレッド)スレッド、共有で作成されたオブジェクト。

以下の質問を検討:

1.オブジェクトのメインスレッドの処理を作成し、他のスレッドは、オブジェクト、オブジェクトおよび操作の方法にアクセスすることができます。 - マルチスレッドの同期の問題。

各スレッドは、オブジェクト、オブジェクトおよび操作の方法のクラスを使用して作成され、プロセスの複数のスレッド2.。 - そこ同期の問題もあり、これはシングルトンオブジェクトである場合に行うのでしょうか?

 

これら二つの問題は、問題のスコープの範囲として理解することができます。

最初の問題は、複数のスレッドのためにメインスレッドでのオブジェクトの誕生は、それがグローバル変数です。

最初の2つの問題は、各スレッドオブジェクトの誕生は、各スレッドのローカル変数であるです。その範囲は、それぞれのスレッドの範囲内で、異なる位置でメモリに格納されています。コードがによって決定することができます

        静的 INT GetObjectReferenceAddress(オブジェクトobj)
        { 
            GCHandleハンドル = GCHandle.Alloc(OBJ、GCHandleType.WeakTrackResurrection)。
            int型のアドレス= GCHandle.ToIntPtr(ハンドル).ToInt32();
            リターンアドレス。
        }

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/fdyang/p/11403774.html