dengxinyi 6 năm trước cách đây
mục cha
commit
c5fbe04472
1 tập tin đã thay đổi với 29 bổ sung0 xóa
  1. 29 0
      oj/concurrent/TestLock.java

+ 29 - 0
oj/concurrent/TestLock.java

@@ -0,0 +1,29 @@
+import java.util.concurrent.*;
+import java.util.concurrent.locks.*;
+
+public class TestLock {
+    public static void main(String[] args) {
+        ExecutorService executor = Executors.newCachedThreadPool();
+        LockSample ls = new LockSample();
+        executor.execute(() -> ls.func());
+        executor.execute(() -> ls.func());
+        executor.shutdown();
+    }
+}
+
+class LockSample {
+    private Lock lock = new ReentrantLock();
+
+    public void func() {
+        lock.lock();
+        try {
+            for (int i = 0; i < 5; i++) {
+                System.out.println(i);
+                Thread.sleep(10);
+            }
+        } catch (Exception e) {
+        } finally {
+            lock.unlock();
+        }
+    }
+}