由于在请求订阅时您正在启动文件监视,因此在订阅结束时(即
Subscription关闭时)终止文件是有意义的。这解决了代码注释中的一个松散的结局:返回a
Subscription,告诉
FileWatcher停止观看文件。然后替换您的循环条件,以便它检查预订是否已取消,而不是检查当前线程是否已中断。
问题是,如果您的
onSubscribe()方法永不返回,那不是很有帮助。也许您
FileWatcher应该要求指定一个调度程序,并在该调度程序上进行读取。

由于在请求订阅时您正在启动文件监视,因此在订阅结束时(即
Subscription关闭时)终止文件是有意义的。这解决了代码注释中的一个松散的结局:返回a
Subscription,告诉
FileWatcher停止观看文件。然后替换您的循环条件,以便它检查预订是否已取消,而不是检查当前线程是否已中断。
问题是,如果您的
onSubscribe()方法永不返回,那不是很有帮助。也许您
FileWatcher应该要求指定一个调度程序,并在该调度程序上进行读取。