91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java樂觀鎖實現代碼怎么寫

小億
151
2024-06-12 12:49:23
欄目: 編程語言

在 Java 中,可以使用 synchronized 關鍵字或者 ReentrantLock 類來實現樂觀鎖。下面分別給出兩種實現方式的示例代碼:

  1. 使用 synchronized 關鍵字實現樂觀鎖:
public class OptimisticLockExample {
    private int count = 0;

    public synchronized void increment() {
        int oldValue = count;
        int newValue = oldValue + 1;

        // 模擬耗時操作
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        count = newValue;
    }

    public static void main(String[] args) {
        OptimisticLockExample example = new OptimisticLockExample();

        Thread t1 = new Thread(() -> {
            example.increment();
        });

        Thread t2 = new Thread(() -> {
            example.increment();
        });

        t1.start();
        t2.start();

        try {
            t1.join();
            t2.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        System.out.println("Final count: " + example.count);
    }
}
  1. 使用 ReentrantLock 類實現樂觀鎖:
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

public class OptimisticLockExample {
    private int count = 0;
    private Lock lock = new ReentrantLock();

    public void increment() {
        lock.lock();
        try {
            int oldValue = count;
            int newValue = oldValue + 1;

            // 模擬耗時操作
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            count = newValue;
        } finally {
            lock.unlock();
        }
    }

    public static void main(String[] args) {
        OptimisticLockExample example = new OptimisticLockExample();

        Thread t1 = new Thread(() -> {
            example.increment();
        });

        Thread t2 = new Thread(() -> {
            example.increment();
        });

        t1.start();
        t2.start();

        try {
            t1.join();
            t2.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        System.out.println("Final count: " + example.count);
    }
}

以上是兩種在 Java 中實現樂觀鎖的方式,分別使用 synchronized 關鍵字和 ReentrantLock 類。在實際開發中,可以根據具體場景選擇合適的方式來實現樂觀鎖。

0
隆林| 肥东县| 元阳县| 礼泉县| 通州市| 体育| 朝阳区| 宁夏| 怀化市| 宝丰县| 长阳| 赤壁市| 饶阳县| 宜章县| 朝阳市| 濮阳县| 奎屯市| 大名县| 潮安县| 宜良县| 盈江县| 永登县| 偏关县| 保亭| 刚察县| 称多县| 柳州市| 内乡县| 平遥县| 子长县| 涪陵区| 阿坝县| 淄博市| 冀州市| 镇康县| 东阿县| 临漳县| 大英县| 延吉市| 西吉县| 新绛县|