現在、スレッドセーフである必要のないクラスがありますが、将来的にはスレッドセーフなバージョンを作成する必要があるかもしれません。私の見方では、関連する関数をロックしてスレッドセーフにするか、仮想化して後で子孫クラスのオーバーライドでロックすることができます。つまり、今日は次のいずれかを実行できます。
public void DoStuff()
{
lock (this.SyncRoot)
{
// Do stuff...
}
}
または私はこれを行うことができます:
public virtual void DoStuff()
{
// Do stuff...
}
今日、仕事をより速く終わらせるオプションはどれですか?