fork download
  1. import java.util.concurrent.locks.*;
  2.  
  3. class Example {
  4. static void performOperationInCriticalSection() {}
  5.  
  6. public static void main(String[] args) {
  7. ReentrantLock myLock = new ReentrantLock();
  8. try {
  9. myLock.lock();
  10. performOperationInCriticalSection();
  11. myLock.unlock();
  12. }
  13. finally {
  14. if (myLock != null) {
  15. myLock.unlock();
  16. }
  17. }
  18. }
  19.  
  20. static {
  21. Thread.currentThread().setUncaughtExceptionHandler(
  22. (Thread t, Throwable x) ->
  23. x.printStackTrace(System.out)
  24. );
  25. }
  26. }
Runtime error #stdin #stdout 0.12s 4386816KB
stdin
Standard input is empty
stdout
java.lang.IllegalMonitorStateException
	at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:151)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1261)
	at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:457)
	at Example.main(Main.java:15)