//使用synchronized关键字实现进程同步程序:
/**
synchronized关键字是Java中用来实现线程同步的一种机制。通过在方法或代码块前加上synchronized关键字,可以确保同一时刻只有一个线程执行该方法或代码块。
*/
public class SynchronizedExample {
private int count = 0;
public synchronized void increment() {
count++;
}
}
//使用volatile关键字实现进程同步程序:
/**
volatile关键字用于确保多个线程之间对共享变量的可见性。它会禁止指令重排序和缓存优化,保证每次读取该变量都是最新值。
*/
public class VolatileExample {
private volatile int count = 0;
public void increment() {
count++;
}
}
//使用ReentrantLock类实现进程同步程序:
/**
ReentrantLock是Java中提供的一种高级互斥锁,它持有锁的线程可以重复地进入同步代码块。与synchronized关键字相比,ReentrantLock提供了更灵活的锁获取和释放机制。
*/
public class ReentrantLockExample {
private ReentrantLock lock = new ReentrantLock();
private int count = 0;
public void increment() {
lock.lock();
try {
count++;
} finally {
lock.unlock();
}
}
}
多线程——使用synchronized关键字、volatile、ReentrantLock类实现进程同步程序
最新推荐文章于 2024-05-18 16:42:38 发布