01进度条
前提:
在平时做开发是遇到一个这样的问题,有一个初始化操作比较耗时,如果做成同步实现,前端的http请求会超时,因此做成了异步实现,前端提交请求后,就返回结束了,异步任务每处理总任务10%左右的时候,会把当前的处理进度写入DB,前端通过查询获得当前的执行进度。
根据以上需求实现了一个进度条类
代码
使用demo1:
步长:1,总步数:10,总长度:10000
总长度 % 总步数= 0
ProgressBar progressBar = new ProgressBar(1, 10, 10000);
progressBar.progress((ProgressBar.PreStepCallBack) (percent, context) -> {
System.out.println(percent);
});
输出结果:
使用demo2
步长:1,总步数:10,总长度:10000
总长度 % 总步数!= 0
ProgressBar progressBar = new ProgressBar(1, 10, 1024);
progressBar.progress((ProgressBar.PreStepCallBack) (percent, context) -> {
System.out.println(percent);
});
输出结果: