R1 Thread 1026 try a->acquire(); R1 Thread 1026 try b->acquire(); R2 Thread 2051 try b->acquire(); R3 Thread 3076 try a->acquire(); R1 Thread 1026 try a->release(); R1 Thread 1026 try b->release(); R2 Thread 2051 try c->acquire(); R2 Thread 2051 try c->release(); R2 Thread 2051 try b->release(); R3 Thread 3076 try c->acquire(); R3 Thread 3076 try c->release(); R3 Thread 3076 try a->release(); do not see potential deadlock
Example 1: Output without potential deadlock.