定时器+轮询接口+有序连续出票

此篇文章仅做记录,不供参考!

/**

* 倒计时 s-e

*/

private Timertimer;

private TimerTasktimerTask;

private long distination_total =timer_unit *120;

private long timer_couting;

/**

* 轮询 s-e

*/

private TimerorderTimer;

private TimerTaskorderQueryTask;

private long queryTotal =timer_unit *120;

private long query_couting;


/**

* 计时开始

*/

private void startTimer() {

timer =new Timer();

    timerTask =new MyComTimerTask();

    timer.scheduleAtFixedRate(timerTask, 0, timer_unit);

    orderTimer =new Timer();

    orderQueryTask =new OrderComTask();

    orderTimer.scheduleAtFixedRate(orderQueryTask,0,timer_unit*3);

}

有序Handler !

/**排队数组,针对多票情况,增删*/

private HashtablemTable =new Hashtable();

/**排队数组,针对多票情况,仅作缓存票根*/

private ListmTableCache =new ArrayList<>();


/**

* 过滤重复订单

* @return

*/

private boolean isContainOrderId(String orderId){

if (mTableCache.size() ==0){

return false;

    }

for (int i =0; i

if (mTableCache.get(i).equals(orderId)){

return true;

        }

}

return false;

}

/**

* 获取缓存订单

* @return

*/

private OrderQueryBean.ListBeangetCacheTicketBean(){

if (null ==mTable){

return null;

    }

Iterator> iter =mTable.entrySet().iterator();

    if (iter.hasNext()){

Map.Entry entry = (Map.Entry)iter.next();

        String key = entry.getKey();

        OrderQueryBean.ListBean value = entry.getValue();

        mTable.remove(key);

        return value;

    }

return null;

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容