1

この不可分操作は。よりも高速だと思います++。私は有利な利点だけを見Interlocked.Incrementます。その欠点は何ですか?

4

2 に答える 2

11

アトミックとは、スレッドセーフであることを意味します(つまり、あるスレッドが値を変更しているときに、あるスレッドが値を読み取ることはできません)。これにより、スレッド同期メカニズムを使用する必要があるため、値が遅くなり、速くなりません。スレッドセーフを気にしない場合は、++を使用します。 これは、さまざまなコンテキストでの++演算子の相対的なパフォーマンスに関する説明です。

于 2011-05-23T13:43:25.627 に答える
1

アトミックはそれが速いという意味ではありません。実際、それはほぼ間違いなく遅くなります。

並行プログラミングでは、操作(または操作のセット)は、システムの他の部分に瞬時に発生するように見える場合、アトミック、線形化可能、分割不可能、または中断不可能です。

これは単に、操作中に観察可能な副作用がないことを意味します。操作にかかる時間については何も述べていません。

于 2011-05-23T13:47:22.430 に答える