我遇到了正确处理使用RX创建的线程在应用程序退出时释放的问题。我在Process Explorer中发现,应用程序关闭后,线程仍然在运行,导致IO异常。
class Program
{
static void Main(string[] args)
{
CompositeDisposable subsriptions = new CompositeDisposable();
subscriptions.Add(Observable.Interval(TimeSpan.FromSeconds(15))
.Subscribe(_ =>
{
getData();
}));
Thread.Sleep(TimeSpan.FromSeconds(20));
subscriptions.Dispose();
}
}
}
如果我取消订阅.Dispose(),线程将在未获取任何数据的情况下终止。感谢您的帮助。谢谢。
getData
函数是做什么的? - JerKimball