一緒に楽しんでいますSystem.Threading.Tasks
。私が見るコードサンプルの多くは、しかし、そのように見える:
Dim lcTask = Task.Factory.StartNew(Sub() DoSomeWork())
Dim lcTaskLong = Task.Factory.StartNew(Sub() DoSomeWork(), TaskCreationOptions.LongRunning)
Task.WaitAll(lcTask, lcTaskLong)
それがサンプルの範囲です。
タスクが実装IDisposable
それで、明らかに私はそれらを処分することになっています、しかし、もし私がただ「消し去りたい」としたらどうでしょうか?
処分しない場合、スレッド/ハンドル/メモリ/カルマをリークしますか? 私はタスクを「間違って」使っていますか? (デリゲートを使用してタスクをそのままにしておくべきですか?)
に処分できますかContinueWith()
? (ロシアンルーレットを弾いているようです。)