- 834 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:03:26 ]
- >>819
>> 預金残高の書き換え処理をn並列で行いたいなら、n個Wait-freeキューを作り、 「Wait-freeキューを作り」の中で、アトミック命令が使われているんだが そういう意味では無いのかな。 単に「自前で実装する必要があるか否か」という意味なら いくらでも「○○は不要」なものがあるだろう。 >>833 「割り込み処理」というのはハード的にはまあ確かに割り込みだが 処理内容的には、「別スレッドからの非同期な処理要求を処理するか」に近い。 つまり、割り込み禁止とは「排他ロックを獲得してから処理を開始する」 ということと同様になる。 実際、あまりに長時間割り込みを禁止していると割り込み要求が破棄されるものがあったと思うが これは、別スレッドからのtrylock要求が規定に達したのであきらめる、というのと同じかと思う。 だから何ってほどでもないけどね。 実際には、「割り込み処理の入り口でロックを獲得」という (やってはいけない)やり方をせずに済むわけだから。 ただし、通常は競合が無い限りCAS2回で済むロックの獲得/解放の変わりに システムコールにつながるであろう割り込み禁止処理を入れるというのは 普通のユーザーアプリケーションにとっては コストが大きすぎて採用できないだろうけどね。 (x86のcli/stiも特権命令だしね)
|

|