Correct me if I'm wrong. But you'd only need to synchronize if the method
used data that was shared between threads. If you have a method:
public static int getMonth(String date)
{
return dataFormatter.parse(date).get(Calendar.MONTH);
}
or something like that (I can never remember the exact api), then you wont
need to synchronize it because its not using anything (except the
dateFormatter object) that is shared. I cant see where you would need
synchronization there.
The exception to this is the situation where the argument is mutable (which
String is not) and other threads may be changing it, in which case you might
need to synchronize on the argument. But I cant see why you would
synchronize a static method as a rule of thumb. If its a utility method,
then let the calling class do the synchronization of the data.
I'd like to see someone point out where I am wrong if indeed I am.
thanks
dim
On Wed, 13 Jun 2001 04:18, Brandon Cruz wrote:
> 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