You are absolutely correct Juergen , I should read the code
more carefully. However if the method where not static
then the use "this." would still be redundant.

Juergen Kreileder wrote:

> >>>>> Christopher Hinds writes:
>
>     Christopher> [1  <multipart/alternative>]
>     Christopher> [1.1  <text/plain; us-ascii (7bit)>]
>     Christopher> The use of "this" is just plain redundant since
>     Christopher> Cliente.class is by default derived from
>     Christopher> "java.lang.Object" it is not nessassary to append
>     Christopher> "this." to wait() or notify() or any other of the
>     Christopher> monitor metheds in this case. Hint : take a look at
>     Christopher> the core API class hierarchy.
>
> The use of 'this' is neither redundant nor allowed here -- the
> methods (recibirPeticion() and enviarPeticion()) are static and
> there is no 'this' in class methods. A 'synchronized static' method
> synchronizes on the class object.
>
> // in this example sm1 & sm2 are equivalent and so are m1 & m2
> class C
> {
>         synchronized static void sm1() {}
>         static void sm2() { synchronized(C.class) {}}
>
>         static void m1() {}
>         void m2() { synchronized(this) {}}
> }
>
> You will get compile time errors both for wait() and this.wait() in
> static methods. this.waits() fails because there is no this.
> wait() fails unless your class has a static method named wait()
> [Note: there is no such thing as inheritence for static methods in Java].
>
> The orignal author has several possiblities to fix his code, one
> would be to use an explicit lock object , e.g.:
>
> class C
> {
>         static Object lock = new Object();
>
>         static void m()
>         {
>                 synchronized (lock) {
>                         lock.wait();
>                 }
>         }
>
>         static void n()
>         {
>                 synchronized (lock) {
>                         lock.notifyAll();
>                 }
>         }
> }
>
>         Juergen
>
> --
> Juergen Kreileder, Universitaet Dortmund, Lehrstuhl Informatik V
> Baroper Strasse 301, D-44221 Dortmund, Germany
> Phone: ++49 231/755-5806, Fax: ++49 231/755-5802
begin:vcard 
n:Hinds;Christopher 
tel;fax:718-789-7906
tel;home:718-789-7906
x-mozilla-html:FALSE
org:Heuristic Systems, Inc.
version:2.1
email;internet:[EMAIL PROTECTED]
title:Chief Engineer - President
adr;quoted-printable:;;160 FIFTH AVE=0D=0ASUITE 4R;Park Slope;NY;11217;USA
x-mozilla-cpt:;0
fn:Christopher Hinds
end:vcard

Reply via email to