在单独的线程 c# 中监视事件



我有一个程序应该继续监视来自外部源(FileSystemWatcher)的事件,并且源需要我的处理代码快速,否则我可能会丢失下一个事件。

但是在任何时候,我的程序都可能正在执行繁重的操作。

First question: 

如果在繁重的操作期间引发外部事件,我的程序是否会在处理事件之前完成操作?

Second question:

我是线程的新手,所以我的主要问题是如何创建一个单独的永久线程来only来自外部源的事件处理?我的第一个方法是,当主代码准备好时,这个线程将简单地存储要由主代码访问的数据,并使用繁重的编码来处理存储的数据。

谢谢。

事件将在触发事件的线程上运行。 如果您的应用程序正在执行昂贵的操作,并且事件是从另一个线程启动的,那么这两件事是独立的,以免两个线程之间同步。

如果您通过极化事件来处理事件,则一个活动将阻止下一个活动。

在不知道您正在处理哪些事件以及如何引发它们的情况下,这只是最通用的建议。

---编辑

是的

FileSystemWatcher 是否创建自己的线程?

相关内容

  • 没有找到相关文章

最新更新