Lets say a file is created at time 00:00:00 (hr:mm:ss) and another file is created 5 seconds later (00:00:05) and another file is created in 5 minutes (00:05:00).
If I have a filesystemwatcher that is watching for a "file created" event... and then adds this file path to a queue... and then does something with it that takes 30 seconds and then checks the queue again. Will the second file path be waiting in this queue (the one that happened 5 seconds later)? Or will it skip it because it happened in the middle of 30 seconds it was doing logic? I feel like this is a dumb question because I always thought/assumed the filesystemwatcher "kept watching" and never missed anything even if the program was still processing the last file. But it just occurred to me that it couldn't really do that unless the program was multi-threaded (2 threads). One thread for the watcher to constantly watch and a second thread to do stuff that takes 30 seconds. Or is it automatically designed to do this hidden away in the code behind and I just don't need to worry about it?