确保线程安全通常需要根据具体的场景和需求采取不同的策略和技术,以下是一些常见的方法:
使用同步机制:通过 synchronized 关键字或 ReentrantLock 来保证对共享资源的互斥访问。例如:
synchronized (lockObject) {
// 访问共享资源的代码
}
或者
ReentrantLock lock = new ReentrantLock();
lock.lock();
try {
// 访问共享资源的代码
} finally {
lock.unlock();
}