阻止在极短的时间重复执行某个函数

Posted 672530440

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阻止在极短的时间重复执行某个函数相关的知识,希望对你有一定的参考价值。

/**
 * 阻止在极短的时间重复执行某个函数中的代码
 * @author wanlh
 *
 */
public class ReEventsController {
    
    private boolean isRepeatFlag = false;
    private MyRunnable mMyRunnable;
    
    private class MyRunnable implements Runnable{

        @Override
        public void run() {
            // TODO Auto-generated method stub
            isRepeatFlag = false;
        }
    }
    
    /**
     * 在time时间之内是否重复,阻止代码往下执行
     * @param view
     * @param time
     * @return
     */
    public boolean isRepeat(View view, int time){
        if(mMyRunnable == null)
            mMyRunnable = new MyRunnable();
        if(isRepeatFlag){
            //view.removeCallbacks(mMyRunnable);
            //view.postDelayed(mMyRunnable, time);//2500毫秒恢复,300毫秒之内不允许重复请求数据
            return true;
        }else{
            isRepeatFlag = true;
            view.removeCallbacks(mMyRunnable);
            view.postDelayed(mMyRunnable, time);//2500毫秒恢复,300毫秒之内不允许重复请求数据
        }
        return false;
    }
}

 view是WebView.

以上是关于阻止在极短的时间重复执行某个函数的主要内容,如果未能解决你的问题,请参考以下文章

0基础入门Android端实时聊天

PYTHON多线程

Random快速产生相同随机数的原因及解决方案

Mock API是如何在开发中发光发热的?

终结篇:MyBatis原理深入解析

Elasticsearch