当前位置: 首页 > news >正文

单测中会用到的类,锁+定时器,等待回调的值返回

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

    public class BaseJunit {
    private Timer timer;
    private Object mSync = new Object();

    protected void Wait() {
        synchronized (mSync) {
            if (timer != null) {
                timer.cancel();
                timer.purge();
                timer = null;
            }
            timer = new Timer();
            timer.schedule(task, 3 * 1000);
        }
        synchronized (mSync) {
            try {
                mSync.wait();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

    protected TimerTask task = new TimerTask() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            Notify();
        }

    };

    protected void Notify() {
        synchronized (mSync) {
            mSync.notifyAll();
        }
    }

    protected void removeTimerTask() {
        synchronized (mSync) {
            if (timer != null) {
                timer.cancel();
                timer.purge();
                timer = null;
            }
        }
    }

转载于:https://my.oschina.net/u/435726/blog/388995

相关文章:

  • 进制转换
  • mac 远程桌面提示: 证书或相关链无效
  • [Thinking in JAVA] 关于内部类的一些知识点
  • nginx配置防盗链
  • HDFS开发中的一些问题(逐步补充)
  • 前端之前,先学学C# [误
  • exosip
  • Shell脚本中的export
  • NSBlockOperation下载图片(三)
  • nodejs --- 核心概念
  • LNMP搭建6:Nginx用户认证
  • 搭建DHCP服务器
  • Linux命令篇之cat命令,tac命令和rev命令
  • Eclipse Ant 批量多渠道打包(二)
  • js数组操作大全
  • [笔记] php常见简单功能及函数
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • AngularJS指令开发(1)——参数详解
  • ES学习笔记(12)--Symbol
  • java中具有继承关系的类及其对象初始化顺序
  • Kibana配置logstash,报表一体化
  • Laravel 菜鸟晋级之路
  • node.js
  • Swift 中的尾递归和蹦床
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • Webpack 4x 之路 ( 四 )
  • 代理模式
  • 前言-如何学习区块链
  • 让你的分享飞起来——极光推出社会化分享组件
  • 日剧·日综资源集合(建议收藏)
  • 如何选择开源的机器学习框架?
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 我的业余项目总结
  • 字符串匹配基础上
  • linux 淘宝开源监控工具tsar
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • #AngularJS#$sce.trustAsResourceUrl
  • #pragma multi_compile #pragma shader_feature
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (四)图像的%2线性拉伸
  • (转)linux下的时间函数使用
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET Core引入性能分析引导优化
  • .NET Micro Framework 4.2 beta 源码探析
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .ui文件相关
  • [ai笔记4] 将AI工具场景化,应用于生活和工作
  • [Android]创建TabBar