>>952
var cts = new CancellationTokenSource();
Task.WhenAll(
Task.Run(() => EventLoop(cts)),
TimerLoop(cts.Token)
).Wait();
こういう書き方を見るにつけ、なにかいい方法はないかとつらつらと考えてる。