You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.6 KiB

/*
* Copyright (c) 1997, 2002, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package java.awt;
/**
* An interface for events that know how to dispatch themselves.
* By implementing this interface an event can be placed upon the event
* queue and its <code>dispatch()</code> method will be called when the event
* is dispatched, using the <code>EventDispatchThread</code>.
* <p>
* 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
* <code>ActiveEvent</code> 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.
* <p>
* For security reasons, it is often desirable to use an <code>ActiveEvent</code>
* 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.
*
* @author Timothy Prinzing
* @since 1.2
*/
public interface ActiveEvent {
/**
* Dispatch the event to its target, listeners of the events source,
* or do whatever it is this event is supposed to do.
*/
public void dispatch();
}