我有一个程序应该继续监视来自外部源(FileSystemWatcher
)的事件,并且源需要我的处理代码快速,否则我可能会丢失下一个事件。
但是在任何时候,我的程序都可能正在执行繁重的操作。
First question:
如果在繁重的操作期间引发外部事件,我的程序是否会在处理事件之前完成操作?
Second question:
我是线程的新手,所以我的主要问题是如何创建一个单独的永久线程来only
来自外部源的事件处理?我的第一个方法是,当主代码准备好时,这个线程将简单地存储要由主代码访问的数据,并使用繁重的编码来处理存储的数据。
谢谢。
事件将在触发事件的线程上运行。 如果您的应用程序正在执行昂贵的操作,并且事件是从另一个线程启动的,那么这两件事是独立的,以免两个线程之间同步。
如果您通过极化事件来处理事件,则一个活动将阻止下一个活动。
在不知道您正在处理哪些事件以及如何引发它们的情况下,这只是最通用的建议。
---编辑
是的
FileSystemWatcher 是否创建自己的线程?