| Author |
Concurrent execution
|
Madhu Sudhana
Ranch Hand
Joined: Apr 16, 2006
Posts: 127
|
|
Hi Ranchers I have a class that contains 2 synchronised methods.I have 2 threads .Can these 2 threads concurrently execute these 2 methods(ie. First thread on First synchronised method and Second thread on Second synchronised method at the same time)If not why??
|
"And the trouble is, if you don't risk anything, you risk even more." -- Erica Jong.
|
 |
Henry Wong
author
Sheriff
Joined: Sep 28, 2004
Posts: 16686
|
|
Originally posted by sudhana madhu: I have a class that contains 2 synchronised methods.I have 2 threads .Can these 2 threads concurrently execute these 2 methods(ie. First thread on First synchronised method and Second thread on Second synchronised method at the same time)If not why??
Whether two threads can run concurrently depends on the locks that they use to synchronize with. Static methods use the Class instance that represents the class. Non-static methods use the 'this' object. So... If one method is static and the other non-static, they can run concurrently. Also, if neither method is static, and they call different instances, they can run concurrently. If both methods are static, or if both methods are not static (with the same instance), then no, they can *not* run concurrently. Henry
|
Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
|
 |
 |
|
|
subject: Concurrent execution
|
|
|