我有這樣的類循環傾聽的東西,並通知訂戶有關事件。聽和通知使用任務
這個類是否正確,或者使用TPL有更好的實現?
public class Listener
{
public event EventHandler EventRaised;
private void RaiseEvent()
{
if(EventRaised!=null)EventRaised(someParam);
}
public Task Listen()
{
return Task.Factory.StartNew(
() =>
{
while(true)
{
//listen for some event
RaiseEvent();
}
}, token, TaskCreationOptions.LongRunning, TaskScheduler.Default);
}
}
例
var listener = new Listener();
listener.EventRaised += SomeMethod;
listerner.Listen();
我問有關通知在後臺的一些事件訂戶約最好的辦法。
這裏你的目標是什麼?這門課沒有意義... –
查看主題,我編輯了它。 – IEnumerable
這個課程將在一個永無止境的循環中不斷地「通知」用戶,然後吃掉CPU ......你究竟在做什麼? –