Actually the outcome is predictable:
monitorenter will obtain objectref on this (aload_0)
* if no other thread has locked the object
* if the object is currently locked by another thread (monitorenter
instruction)
* if the current thread already owns a lock - the lock is released when the
counter
returns to 0
.method static doSort([I)V
aload_0
monitorenter
; sensitive code
monitorexit
...
return
end method
----- Original Message -----
From: "Brandon Cruz" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, June 12, 2001 2:18 PM
Subject: Java Question
----- Original Message -----
From: "Pae Choi" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, June 12, 2001 2:41 PM
Subject: Re: Java Question
> When you access the 'synchronized' static method, it locks its class.
> so this will ensure the thread-safe access. Otherwise, the result is
> unknown.
>
>
> Pae
>
>
> > I have looked all over and can't find the answer to this simple
question.
> > If you use a static method, do you have to synchronize it in case other
> > people may access it at the same time. For example, I have a static
Utility
> > class to do date calculations. The method Utility.getMonth(String date)
> > takes in a full date string, parses it, and returns just the month
value.
> > If 5 different people all using the website attempt to use
> > Utility.getMonth(String date) at the same time for different dates, will
it
> > return the right results? If not, do I have to synchronize it or
something
> > in case multiple users attempt to access it?
> >
> > I know this is not really related to tomcat, but since I am using
tomcat,
> > and everyone else using tomcat is also a java developer, I figured this
is
> > the best place I can ask.
> >
> > Thanks for any help!!!
> >
> > Brandon
> >
>