Click here to Skip to main content
15,903,201 members
Home / Discussions / C#
   

C#

 
GeneralRe: Windows Service, FileSystemWatcher + Polling Pin
PIEBALDconsult2-Mar-10 8:50
mvePIEBALDconsult2-Mar-10 8:50 
GeneralRe: Windows Service, FileSystemWatcher + Polling Pin
Paulo Zemek2-Mar-10 9:48
Paulo Zemek2-Mar-10 9:48 
GeneralRe: Windows Service, FileSystemWatcher + Polling Pin
krazykoder2-Mar-10 10:55
krazykoder2-Mar-10 10:55 
GeneralRe: Windows Service, FileSystemWatcher + Polling Pin
PIEBALDconsult2-Mar-10 12:38
mvePIEBALDconsult2-Mar-10 12:38 
GeneralRe: Windows Service, FileSystemWatcher + Polling Pin
krazykoder2-Mar-10 9:23
krazykoder2-Mar-10 9:23 
GeneralRe: Windows Service, FileSystemWatcher + Polling [modified] Pin
Paulo Zemek2-Mar-10 9:39
Paulo Zemek2-Mar-10 9:39 
GeneralRe: Windows Service, FileSystemWatcher + Polling Pin
krazykoder3-Mar-10 9:32
krazykoder3-Mar-10 9:32 
GeneralRe: Windows Service, FileSystemWatcher + Polling Pin
Paulo Zemek3-Mar-10 13:33
Paulo Zemek3-Mar-10 13:33 
In this case, you are right.
So, I suggest you to make it different.
Create another object to be the "lock object".

C#
private object hashsetLock = new object();

... and the thread code...
while(!stopRequested)
{
  manualResetEvent.WaitOne();
  if (stopRequested)
    return;

  HashSet<string> hashsetToProcess;
  manualResetEvent.Reset();
  lock(hashSetLock)
  {
    hashsetToProcess = hashset;
    hashset = new HashSet<string>();
    // now you can already free the lock. Note that all locks must now be 
    // to hashSetLock instead of hashset.
  }

  foreach(string item in hashsetToProcess)
    ... do what you need...
}


In this scenario, if you keep processing for 5 minutes, there is no problem, as the new hashset is no longer locked.
GeneralRe: Windows Service, FileSystemWatcher + Polling [modified] Pin
krazykoder4-Mar-10 6:26
krazykoder4-Mar-10 6:26 
GeneralRe: Windows Service, FileSystemWatcher + Polling Pin
krazykoder4-Mar-10 8:41
krazykoder4-Mar-10 8:41 
GeneralRe: Windows Service, FileSystemWatcher + Polling Pin
Paulo Zemek4-Mar-10 16:05
Paulo Zemek4-Mar-10 16:05 
GeneralRe: Windows Service, FileSystemWatcher + Polling Pin
krazykoder5-Mar-10 4:36
krazykoder5-Mar-10 4:36 
AnswerRe: Windows Service, FileSystemWatcher + Polling Pin
PIEBALDconsult2-Mar-10 8:44
mvePIEBALDconsult2-Mar-10 8:44 
AnswerRe: Windows Service, FileSystemWatcher + Polling Pin
Pete O'Hanlon2-Mar-10 10:23
mvePete O'Hanlon2-Mar-10 10:23 
GeneralRe: Windows Service, FileSystemWatcher + Polling Pin
#realJSOP3-Mar-10 3:54
professional#realJSOP3-Mar-10 3:54 
QuestionOUTLFLTR.DLL library - need an answer Pin
chiky_ancutza2-Mar-10 5:20
chiky_ancutza2-Mar-10 5:20 
AnswerRe: OUTLFLTR.DLL library - need an answer Pin
Dan Mos2-Mar-10 5:24
Dan Mos2-Mar-10 5:24 
GeneralRe: OUTLFLTR.DLL library - need an answer Pin
chiky_ancutza2-Mar-10 5:28
chiky_ancutza2-Mar-10 5:28 
GeneralRe: OUTLFLTR.DLL library - need an answer Pin
Dan Mos2-Mar-10 5:38
Dan Mos2-Mar-10 5:38 
AnswerRe: OUTLFLTR.DLL library - need an answer Pin
Luc Pattyn2-Mar-10 5:29
sitebuilderLuc Pattyn2-Mar-10 5:29 
AnswerRe: OUTLFLTR.DLL library - need an answer Pin
Covean2-Mar-10 5:33
Covean2-Mar-10 5:33 
GeneralRe: OUTLFLTR.DLL library - need an answer Pin
chiky_ancutza2-Mar-10 5:45
chiky_ancutza2-Mar-10 5:45 
GeneralRe: OUTLFLTR.DLL library - need an answer Pin
Covean2-Mar-10 5:58
Covean2-Mar-10 5:58 
GeneralRe: OUTLFLTR.DLL library - need an answer Pin
chiky_ancutza2-Mar-10 7:27
chiky_ancutza2-Mar-10 7:27 
GeneralRe: OUTLFLTR.DLL library - need an answer Pin
Covean2-Mar-10 20:33
Covean2-Mar-10 20:33 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.