This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I have two versions of test script for testing locking. One version finds the error. Other not. There is no significant difference between the two. I like to know why the two programs are showing the difference.
code for version 1
The out put for above code is
The second version of code just have changes as follows
But this is not catching the error The output follows
Please note code in case0, case1, case2 and execute are identical(cut and paste). Reason for the failure of lock is in the way I use synchronization. lock method is having synchronized modifier which is wrong. I should be synchronizing on a common object (like a collection of locks or a non duplicated/cloned single lock) to all threads.
Extremely curious :roll: to know the difference. I am not giving the lock or unlock details which may deviate attention. The lock acquiring event is not logged for the same reason.
Any help is appreciated. [ April 14, 2005: Message edited by: jiju ka ]