现在我有一个需求:
用户想发起一个请求,用户必须输入一个Licence Key,然后查看有没有权限访问,并且返回可用数量,然后后台有很多的线程会操作这个变量。
我本来是准备把这个变量存储在表中,根据用户输入的Licence Key去查看,但分析发现存在一个时间差的问题
就是我从数据库获取一个值,但是返回给用户的过程中,后台的很多线程还是在操作这个变量,就是因为这个时间差,导致用户获取的值
修改后的模式如下:
代码实现如下:
package com.message.application;
import com.sun.org.apache.xalan.internal.xsltc.runtime.Hashtable;
public class ApplicationValue {
private static Hashtable licenceKeyHashTable;
static {
System.out.println("ApplicationValue st