Re: Implementing Callbacks and/or Synchronize questions
Richard Maher wrote:
A quick look around leads me to believe that I should create a callback
interface and have the Applet implement it. Then have the Applet pass itself
to the threading-object's constructor and, if something goes wrong, the
thread can cast the applet to the interface and invoke the "callback"
method. Will it work? (I'm off to give it a go, but in case it doesn't (or
if someone knows a "better" way) I'm happy to hear alternatives!)
Well, given such a vague problem statement, I can't answer with anything
other than "maybe."
If what you need to do is to alert the GUI, the best answer may be to
dispatch an event via SwingWorkers (you might look at
java.awt.Component's firePropertyChanged methods for code isolation).
Perhaps implementing the interface might be better down in inner classes
or anonymous ones as well--it depends on the situation.
If I'm forced to go to Plan B and shift the "do something" down-stream, can
someone please answer the following Synchronize question for me? Is the
synchronization behaviour of a "synchronized" method functionally equivalent
to a non-synchronized method that wraps everything in a "synchronized (this)
{}" block?
Assuming it's an instance method, yes. Static methods synchronize on the
class object itself. See
<http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.4.3.6>.
--
Beware of bugs in the above code; I have only proved it correct, not
tried it. -- Donald E. Knuth