0

通常、コードサンプルは次のようにロックを使用します。

static readonly object lockForWorkingWithSharedObject = new object();

lock(lockForWorkingWithSharedObject)
{
   // do something with shared object
}

このように、大きなクラスでは多くのロックが必要です。共有オブジェクト自体を同期オブジェクトとして使用することをお勧めしますか?

// of course here sharedObject is a reference type
lock(sharedObject)
{
   // do something with sharedObject
}
4

1 に答える 1

1

Javaと.NETでは、各オブジェクトをロック可能にすることのポイントは、言語設計者がオブジェクト自体をロックとして使用することが有用であると考えたからです。したがってsynchronized、Javaのキーワードでもあります。

より細かいロックが必要な場合は、オブジェクトの状態を複数のオブジェクトに分割し、意味的に一緒に属するものごとにグループ化する方がよいと思います。したがって、同時アクセスから保護する必要もあります。

于 2010-12-30T22:32:14.950 に答える