commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <GGreg...@seagullsoftware.com>
Subject RE: [POOL] FilesystemMonitor responsiveness
Date Tue, 12 Oct 2010 00:06:24 GMT
> -----Original Message-----
> From: Gary Gregory [mailto:GGregory@seagullsoftware.com]
> Sent: Monday, October 11, 2010 17:00
> To: Commons Developers List
> Subject: [POOL] FilesystemMonitor responsiveness
> 
> Hi All:
> 
> Is there any reason why the FilesystemMonitor.run() method is not short-
> circuited ASAP? For example, by doing this:
> 
>     /**
>      * Run.
>      */
>     public void run() {
>         while (running) {
>             for (FilesystemObserver observer : observers) {
>                 observer.checkAndNotify();
>                 if (!running) {
>                    return;
>                 }
>             }
>             try {
>                 Thread.sleep(interval);
>             } catch (final InterruptedException ignored) {
>             }
>         }
>     }

And since I am in the querying and suggesting mood... what about replacing the running ivar
with an AtomicBoolean that is passed into checkAndNotify (and used by checkAndNotify) which
would allow the run method to really stop ASAP.

I am working in a very large system now (not related to IO) where we've encountered several
issues related to shutting down resources where we do not know when/if they really shutdown.
Difficult to test. I just like it when you say "stop" and the object stops, now. :)

Gary

> 
> Instead of:
> 
>     /**
>      * Run.
>      */
>     public void run() {
>         while (running) {
>             for (FilesystemObserver observer : observers) {
>                 observer.checkAndNotify();
>             }
>             if (!running) {
>                 break;
>             }
>             try {
>                 Thread.sleep(interval);
>             } catch (final InterruptedException ignored) {
>             }
>         }
>     }
> 
> Gary Gregory
> Senior Software Engineer
> Rocket Software
> 3340 Peachtree Road, Suite 820 . Atlanta, GA 30326 . USA
> Tel: +1.404.760.1560
> Email: ggregory@seagullsoftware.com
> Web: seagull.rocketsoftware.com
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message