import java.util.concurrent.locks.ReentrantLock;
public static ReentrantLock smsLock = new ReentrantLock();
//tryLock方法作用:此时访问这个方法的线程等待timeout秒,如果在timeout秒内上一个线程没有执行完,方法返回false;上一个线程执行完,方法返回true.
boolean result = smsLock.tryLock(timeout, TimeUnit.MILLISECONDS);
if(result){
业务逻辑
} else {
业务逻辑
}