It's not a secret anymore!
The moose likes Beginning Java and the fly likes Help using threads synch methods Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Make it so: Java DB Connections & Transactions this week in the JDBC forum!
JavaRanch » Java Forums » Java » Beginning Java
Reply locked New topic

Help using threads synch methods

cornel jew
Ranch Hand

Joined: Jul 13, 2002
Posts: 37
Hi all
I have a few questions regarding threads.
When creating your thread eg
class MyThread extends Thread
public void run()
//i want to call other synchronized methods from other objects here which will print something
Test t = new Test();
t.myMethod();//if its the right way to do it
public class Test
public synchronized myMethod()
{//print something here
//with a for loop x times
public static void main(String [] args)
MyThread mt = new MyThread();
MyThread mt1 = new MyThread();
MyThread mt2 = new MyThread();
What will happen if your thread access the myMethod() will it acces the method and print it x times in the loop b4 mt1 start,cos the
method is synch, or will mt1 and mt2 start intermixed.
This is the way i understand synchronized methods the method is locked so the other threads in the que must wait until the first
thread finish, meaning to print out x times b4 the others can enter the method.
I have run a test program ,but the output is mixed especially when the loop count is big, but smaller loops gives me right output.
Thanks for any help
Barry Andrews
Ranch Hand

Joined: Sep 05, 2000
Posts: 523

You will have no control on the order of thread execution. The JVM determines that. Probably if you ran a small loop a number of times, you would eventually see a different result. You can request the thread to have a higher priority though. You are right that only one thread is accessing the synchronized method at a time. Hope this helps!
Anthony Villanueva
Ranch Hand

Joined: Mar 22, 2002
Posts: 1055
Hi I tried answering you in this thread.
Jim Yingst

Joined: Jan 30, 2000
Posts: 18671
Please don't post the same question in multiple forums. It wastes other people's time if they don't know what other people have already said on a given topic. Follow up to this question here. Thanks.

"I'm not back." - Bill Harding, Twister
I agree. Here's the link:
subject: Help using threads synch methods
It's not a secret anymore!