Article View: es.comp.lenguajes.java
Article #26210Re: Nuevos Eventos
From: Jonathan Revusky
Date: Fri, 29 Jan 1999 00:00
Date: Fri, 29 Jan 1999 00:00
32 lines
1647 bytes
1647 bytes
Rehm wrote:
>
> �Cual es la diferencia entre (1) y (2)?. Para que clonar.
>
> (1) Enumeration enum = listeners.clone().elements();
> (2) Enumeration enum = listeners.elements();
El motivo ser�a para que el c�digo sea "thread-safe". Admites la
posibilidad de que en otro hilo de ejecuci�n, se agrega un listener,
mientras est�s dentro del m�todo fireXXXEvent.
De hecho, propiamente hablando (incluso si el caso es raro) es:
Enumeration enum;
synchronized (listeners) {
enum = listeners.clone().elements();
}
while enum.hasMoreElements() {
etcetera.
}
El c�digo que es "thread-safe" es el esquema m�s generalizado.
Jonathan Revusky
--
Java and Delphi Consulting
Make your .class files double-clickable
with SmartJ
http://www.bigfoot.com/~crystalline.solutions
Technical Details
Message-ID:
<36B197B0.D67929D2@jet.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<36a31f4f.20082697@news.bcn.ttd.net> <36A46E20.61C8123F@jet.es> <36a4978e.39892782@news.bcn.ttd.net> <36A4A2A6.1D5D3AD6@jet.es> <36b16f1c.1030852@news.mad.ttd.net>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1116f3,9c6533ba9b909cd5 X-Google-Attributes: gid1116f3,public From: Jonathan Revusky <jrevusky@jet.es> Subject: Re: Nuevos Eventos Date: 1999/01/29 Message-ID: <36B197B0.D67929D2@jet.es> X-Deja-AN: 438297292 Content-Transfer-Encoding: 8bit References: <36a31f4f.20082697@news.bcn.ttd.net> <36A46E20.61C8123F@jet.es> <36a4978e.39892782@news.bcn.ttd.net> <36A4A2A6.1D5D3AD6@jet.es> <36b16f1c.1030852@news.mad.ttd.net> X-Accept-Language: en Content-Type: text/plain; charset=iso-8859-1 X-Complaints-To: usenet@lola.ctv.es X-Trace: lola.ctv.es 917608415 4502 195.55.162.107 (29 Jan 1999 11:13:35 GMT) Organization: CTV/JET Mime-Version: 1.0 Reply-To: jrevusky@bigfoot.com NNTP-Posting-Date: 29 Jan 1999 11:13:35 GMT Newsgroups: es.comp.lenguajes.java