在处理长任务,大数据交互是,程序容易造成假死,用户也不知道程序在做什么,于是就需要一个进度条,但是网上进度条实例,效果都不佳,都不能实时更新进度条,比如伪进度条就只能是一张图片,还有的是事务处理完后,记录监控的时间,再完成进度条显示,这肯定是不可以的。还有一种是比较实用,但是把事务处理随着进度条一起处理,也就是进度条是从1%到100%,那么事务就处理一百次。于是结合网上实例,我写了下面的这个多线程进度条。
我写的这个进度条的特点是:
可以根据事务处理的时间,实时更新进度条,简单的说是:比如一个长任务,大数据交互大概要话4分钟的话,那么我们就可以把进度条从1%到100%,每跟进一步,就是40微秒,当然这是多线程的。一个线程处理进度条,主线程处理长任务,大数据交互部分,也就是说如果一个长任务,大数据交互大于4分钟,那么进度条先执行完,但是进度条线程会让自己全部执行完,才把cup交给主线程。如果正常情况一个长任务,大数据交互小于或等于,那么正好是我们要的效果。
1