1
私の方法では、複数のスレッドを開始し、作業が終了するまで待機します(fork-joinパターンのようなもの)。複数のスレッドからの集約と転送の例外
using (var countdownEvent = new CountdownEvent(runningThreadsCount))
{
for (int i = 0; i < threadsCount; i++)
{
var thread = new Thread(new ThreadStart(delegate
{
// Do something
countdownEvent.Signal();
}));
thread.Start();
}
countdownEvent.Wait();
}
今、私はこのスレッドで例外をキャッチできるようにする必要があり、メインスレッドに例外を渡し、(それはcountdownEvent
に待っているので)、それをブロック解除(// Do something
が例外をスローすることがあることを前提とします)と再例外をスローします。
それを達成するための最もエレガントな方法は何ですか?
.net 4にアクセスできますか?タスクAPIは既に集約例外を知っています... – flq
はい、私は.netへのアクセス権を持っています4 – levanovd