在多线程编程中,如果多个线程同时访问同一个容器时,可能会出现不同步的问题,导致数据出错或者程序崩溃。为此,需要采取一些措施来保证线程安全。
一种解决方法是使用线程安全的容器,例如java.util.concurrent包中提供的ConcurrentHashMap。另一种方法是使用同步机制,例如synchronized关键字或者ReentrantLock类。
下面是使用synchronized关键字保证线程安全的示例代码:
public class SharedContainer {
private List container = new ArrayList();
public synchronized void add(String element) {
container.add(element);
}
public synchronized List getContainer() {
return container;
}
}
在这个示例中,使用synchronized关键字对add()和getContainer()方法进行了同步,确保了多个线程同时访问容器时的线程安全。