Ivanov, Alexey A wrote:
I think synchronized block can be safely removed.
Any way Swing is not thread-safe, and these methods are not explicitly
marked as thread-safe.
This is a static mutable variables [bad]. In an environment where there
are multiple 'AppContexts', such as Applets, it may be accessed by
multiple threads.
From: Mikhail Loenko [mailto:[EMAIL PROTECTED]
javax.swing.Timer
this is an attomic operation, why synchronized?
That is not a valid argument.
One issue is that the change would not necessarily visible to other
threads if not synchronized/volatile. Secondly, if there are other
non-atomic operation using synchronized, then these may fail. However,
in this case volatile looks fine, and no-one would really notice if even
that was not present.
public static void setLogTimers(final boolean isLogTimers) {
synchronized (Timer.class) {
Timer.isLogTimers = isLogTimers;
}
}
Tom Hawtin