RFR 8067241 DeadlockTest.java failed with negative timeout value
    Jaroslav Bachorik 
    jaroslav.bachorik at oracle.com
       
    Tue Dec 16 12:08:50 UTC 2014
    
    
  
On 12/15/2014 06:38 PM, Daniel Fuchs wrote:
> On 12/12/14 09:56, shanliang wrote:
>> Updated.
>>
>> Here is the new version:
>> http://cr.openjdk.java.net/~sjiang/JDK-8067241/01/
>>
>> Thanks,
>> Shanliang
>
> Hi Shanliang,
>
> Your changes looks good to me. WRT using a Phaser, it would
> require a careful analysis to assert that modifying the
> locking strategy - especially things like
>    90             synchronized(o) {
>    91                 synchronized(this) {
>    92                     gotLock = true;
>    93
>    94                     this.notify();
>    95                 }
> still preserve the nature of the test.
> I wonder if it's worth the trouble.
Well, the test tries to achieve step-by-step execution of two concurrent 
threads where one thread can only proceed when the other one has already 
reached a predefined execution point. This is exactly what the Phaser is 
fit for. Please note that by using Phasero one could also get rid off 
the Thread.sleep(<really big number>) construct to simulate the fact 
that the BadBoy thread doesn't finish before the main thread had the 
chance to assert the postconditions.
But the change is already in .. what is done is done. It's just a pity 
we missed the chance to improve the test a bit while fixing this issue.
-JB-
>
> best regards,
>
> -- daniel
    
    
More information about the serviceability-dev
mailing list