有没有办法知道FileSystemwatcher剩余多少缓冲区?

时间:2017-08-09 09:24:31

标签: c# multithreading events buffer filesystemwatcher

当我查询

fileSystemWatcher.InternalBufferSize

它将给出分配给Watcher的总内部缓冲区大小。但我想知道(在调试期间)Watcher剩余多少缓冲区大小并且可以使用,当我在事件处理程序方法中使用上述语句时(比如写操作),它总是给我总缓冲区分配大小给观察者。有没有办法获得缓冲区的剩余大小?

其他问题:

this回答,很明显,事件是在单独的线程上处理的,而不是接收事件的线程。假设我们有一个正在观察文件的Watcher正在进行许多并发事件。我认为(如果我错了,请纠正我)接收事件信息的主线程将为每个事件生成一个新线程,并且事件的处理将在不同的线程上发生。所以我想问:

  
      
  1. 主线程是否会等待完成所有事件的处理?
  2.   
  3. 哪个线程将清除与Watcher关联的内部缓冲区以及何时?
  4.   
  5. 我已经阅读了许多地方,处理程序方法应该尽可能少的时间,或者我们可以获得InternalBufferOverflow例外。   因此,可以安全地假设Watcher的内部缓冲区仅在线程(我不能说一个或所有,但想要求您)正在处理处理程序方法时清理处理方法?
  6.   

0 个答案:

没有答案