私は、個々のアイテムがイベントを発生させてその結果をイベントargsで返すので、読み込みや更新はほとんど行われない軽く使われた辞書を持っています。実際、スレッドは常に同じスレッドで更新されます。安全のために単純なロックを追加することを考えていました。私はちょうど私がアクセサを取得するにロックを配置することができますかと思っていた。これは機能しますか?getアクセサにコレクションをロックすることはできますか?
Dictionary<string,Indicator> indicators = new Dictionary<string,Indicator>();
Dictionary<string, Indicator> Indicators
{
get
{
lock (indicators)
{
return indicators;
}
}
}
public void AddIndicator(Indicator i)
{
lock (indicators)
{
indicators.Add(i.Name, i);
}
}
これは「配列アクセス」ではなく、インデクサーです。しかしもっと重要なのは、あなたがそれを使って何をしていたとしても、あなたが参照を取得した時点でロックが解放されるということです。 –
@jon:ヒントをいただきありがとうございます。私は現在、配列アクセスと呼ばれるPHPをプログラミングしています... – ChrFin