public interface ActiveEvent
dispatch()
method will be called when the event
is dispatched, using the EventDispatchThread
.
This is a very useful mechanism for avoiding deadlocks. If
a thread is executing in a critical section (i.e., it has entered
one or more monitors), calling other synchronized code may
cause deadlocks. To avoid the potential deadlocks, an
ActiveEvent
can be created to run the second section of
code at later time. If there is contention on the monitor,
the second thread will simply block until the first thread
has finished its work and exited its monitors.
For security reasons, it is often desirable to use an ActiveEvent
to avoid calling untrusted code from a critical thread. For
instance, peer implementations can use this facility to avoid
making calls into user code from a system thread. Doing so avoids
potential deadlocks and denial-of-service attacks.
Modifier and Type | Method and Description |
---|---|
void |
dispatch()
Dispatch the event to its target, listeners of the events source,
or do whatever it is this event is supposed to do.
|
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2018, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.