commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <GGreg...@seagullsoftware.com>
Subject [IO] FilesystemMonitor responsiveness
Date Tue, 12 Oct 2010 00:08:21 GMT
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) {
            }
        }
    }

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) {
            }
        }
    }

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 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