InfoQ 「.NET 4のキャンセルフレームワーク」の補足
翻訳した記事はこちら:.NET 4のキャンセルフレームワーク
元記事(.NET 4 Cancellation Framework)の元ネタは、MSのParallel Extensions開発チームのブログだ。
.NET 4 Cancellation Framework | Parallel Programming with .NET
翻訳記事で「協調的なキャンセルフレームワーク」と言ってるのは、一言でいえば「Thread.Abort()するな」ということ。JavaではThread#stopが非推奨になってるわけで、スレッドを外から止めたいときはインスタンスフィールドのフラグを立てるだけにして、スレッドはそのフラグを見て自発的に死ぬようにする。
(Java 推奨されないスレッドプリミティブの「Thread.stop の代わりに何を使うべきですか」を参照)
つまりはそういうこと。