Вопрос по multithreading, filesystemwatcher, c#, .net – FileSystemWatcher создает свой собственный поток?

15

Я хочу, чтобы эта работа выполнялась в другом потоке, но нужно ли создавать поток или он выполняет всю работу в разных потоках?

Подобно:

Thread fileThread = new Thread(() =>
{
    FileWatcher = new FileSystemWatcher();

    FileWatcher.Created += OnFileEvent;
    FileWatcher.Deleted += OnFileEvent;
    FileWatcher.Renamed += OnRenameEvent;
    FileWatcher.EnableRaisingEvents = true;
});

fileThread.Start();

Ваш Ответ

1   ответ
23

ке автоматически.

Хорошо, меня беспокоило то, что я не хочу, чтобы он выполнял какую-то работу в какой-то момент, и если его enableraisingevents = false, я думал, что он сделает всю работу, но просто не вызовет события. syncis
@syncis: если вы сохраните экземпляр, вы можете просто включить его снова.
@syncis: Если вас это беспокоит, вам следует создать новый объект. Однако простое отключение enableraisingevents не помешает ему прослушивать изменения, вам следует вызывать Dispose, если вы больше его не используете.
Хорошо, Perfekt, у меня есть еще один вопрос: как только я останавливаю наблюдателя, я устанавливаю enableraisingeevents = false, но когда я хочу снова запустить наблюдатель, я не знаю, должен ли я просто enableraisingevents = true или мне следует создать новый экземпляр fileystemwatcher как приведенный выше код, что вы думаете? Спасибо syncis
Отлично, спасибо, @guffa !! syncis

Похожие вопросы