"A new lock is obtained for each entry into a synchronized code block." Is each entry an object? What exactly is it... Thanks in advance
John Dale
Ranch Hand
Joined: Feb 22, 2001
Posts: 399
posted
0
By entry, they mean when the flow of execution of the program progresses from a statement outside the block to the inside of the block. (Method returns don't count.) Does that answer address your question, or were you asking about the nature of the lock itself?
Willie Toma
Ranch Hand
Joined: May 11, 2001
Posts: 78
posted
0
So for each block of code you can only have one entry?
Jim Yingst
Wanderer
Sheriff
Joined: Jan 30, 2000
Posts: 18670
posted
0
No- if a method calls itself recursively, for example, a single block of code may be entered more than once, and each time a new lock is obtained on the same monitor. So a given monitor can have multiple locks held on it at the same time - the only catch is, they all have to be held by the same thread.