进度条其实,早在计算机发明之前,就已经有了进度条的概念。1896 年,波兰经济学家 Karol Adamiecki发明了一种叫做harmonogram(波兰语,时间表)的图表;同一时间,亨利·甘特(Henry Gantt)提出类似的方法并在西方普及。Adamiecki的图表就被叫做为甘特图


后来,计算机出现,甘特图这个概念后来被用于计算领域。主要用来计算机在处理任务时,实时的,以图片形式显示处理任务的速度,完成度,剩余未完成任务量的大小,和可能需要处理时间等,一般以长方形条状显示。人类史上的第一个在计算机中进度条,出现在 Mitchell Model 1979 年的博士论文。Model 使用进度条来表达电脑执行任务的进度,这也是我们现在常看到的进度条。计算机领域中引入进度条,主要是通过图形化的形式告知用户计算机正在努力工作中,试想下,如果没有进度条,那么用户就无法知道程序是处理中,还是失去了响应。也无法知道程序处理的大概进展。


所以,进度条更多的是为了满足用户心理,缓解用户焦虑而设计。但是,计算机中显示的进度条其实并不是真正的进度,而是预估出来的。通常的计算方式是:

操作数量/总操作数量=进度条百分比

比如我们进行文件拷贝,当文件总大小事100M的时候,计算机可以根据已经拷贝的文件大小和时间,预估出文件全部拷贝完需要的总时长,然后就可以根据已用时长和总时长的对比,计算出进度了。


99%的时候在干什么?我们在《如何给女朋友解释什么是P2P?》中其实介绍过,现在的下载软件都是采用P2P技术进行文件下载的。在P2P模式下,当我们想要下载一个电影的时候,并不是从一个资源处串行下载的。而是会从多个P2P节点上分别多线程的进行下载,然后再把下载后的资源整合到一起。这个过程就像我们组装电脑一样,我们同时从不同的店铺购买不同的电脑配件,然后自己组装电脑。


但是,我们知道 ,由于受到发货地、发货时间、物流等影响,所有配件的到达时间肯定不是一样的。有一些会先到达,有一些会后到达。所以,如果有一些配件先到达的时候,我们就需要继续等到后到达的配件。如果我们组装一个电脑需要100个配件,其中99个已经到达了,但是最后一个由于库存原因还未发货,那么,整体电脑组装的进度应该就是99%,并且这个99%的状态还会维持很长一段时间。


所以,因为采用P2P的下载方式,文件从多个节点下载,由于从各个节点下载的速度不一致,有些节点的资源会相较于其他资源慢一些,就会出现进度卡在99%的情况。另外,除了以上这种原因以外,还有一种情况。那就是我们已经收到了所有的电脑配件,开始组装的时候,发现其中有一个配件出现了问题,运输过程中有损坏,这时候我们就需要联系商家进行换货。这个过程电脑组装的整体进度也会卡在99%。


所以,因为资源进行分块下载,在下载的最后阶段,就需要进行组合及校验,而在校验时发现某块出现问题,就需要重新下载。这个过程进度也会一直卡在99%。关于作者漫话编程,是一个通过漫画+音频的形式讲解枯燥的编程知识的公众号。致力于让编程变得更有乐趣。Java工程师成神之路系列文章在 GitHub 更新中,欢迎关注,欢迎star。 

直面Java第311期:什么是运行时常量池?

深入并发第013期:拓展synchronized——锁优化

- MORE | 更多精彩文章 -刘强东“退位”,东哥的"兄弟们"怎么办?| 文末送书GitHub上12kStar的《Java工程师成神之路》中终于开放阅读了!一口气说出4种“附近的人”实现方式,面试官笑了一次蚂蚁金服的辛酸面试历程如果你喜欢本文,请长按二维码,关注 Hollis.转发至朋友圈,是对我最大的支持。好文章,我在看❤️

我的世界java下载慢怎么办_漫话:为什么你下载小电影的时候进度总是卡在99%就不动了?...相关推荐

  1. 漫话:为什么你下载小电影的时候进度总是卡在99%就不动了?

    进度条 其实,早在计算机发明之前,就已经有了进度条的概念.1896 年,波兰经济学家 Karol Adamiecki发明了一种叫做harmonogram(波兰语,时间表)的图表:同一时间,亨利·甘特( ...

  2. 为什么下载那种小电影时,经常会卡在99%?

    上一篇:3600万中国人在抖音"上清华" 来源:综合自网络下载最怕什么,那绝对是进度条:99%.这是一个充满魔力的数字,曾让我狂躁.焦虑,甚至激动得想砸键盘锤电脑扔手机.比如下载学 ...

  3. 为什么下载小电影时,经常会卡在99%?

    来源:综合自网络 下载最怕什么,那绝对是进度条:99%. 这是一个充满魔力的数字,曾让我狂躁.焦虑,甚至激动得想砸键盘锤电脑扔手机. 比如下载学习资料或看动作大片,苦苦等待2小时,好不容易下到99%, ...

  4. 漫画:为什么下载电影进度总是卡在 99% 就不动了?

    作者|漫话编程 来源|漫话编程(ID:mhcoding) 进度条 其实,早在计算机发明之前,就已经有了进度条的概念.1896 年,波兰经济学家 Karol Adamiecki发明了一种叫做harmon ...

  5. 为什么下载小电影时,进度经常会卡在99%?

    点击"开发者技术前线",选择"星标????"让一部分开发者看到未来 来源:综合自网络 下载最怕什么,那绝对是进度条:99%. 这是一个充满魔力的数字,曾让我狂躁 ...

  6. 我的世界java环境安装包_我的世界java路径怎么设置

    伙伴们在玩<我的世界>游戏的时候,必须在电脑上安装JAVA环境,可是呢有些玩家对于自己的电脑系统不太了解,那么如何查看自己的电脑系统及怎么安装JAVA环境呢?带着这一系列问题,我们来看看下 ...

  7. 我的世界java版合成表_我的世界:Java版和基岩版的5个合成表差异,知道半数,老MC无疑。...

    "不要在云了,你这个云玩家!"不知道你没有没有因为某些原因被网友说成是MC的云玩家,我就听到过一个很冤枉的故事.一个已经玩了5年之久的基岩版玩家,被一个玩了一年Java版的玩家硬生 ...

  8. 电脑我的世界java要什么版本_我的世界配置要求 电脑版要什么样的配置

    要想玩我的世界电脑需要什么养的配置呢?这次小编就为大家带来我的世界电脑版配置需求介绍,希望对诸位玩家有所帮助. 最低需求: 处理器 : 英特尔 奔腾D or AMD 速龙64 (K8) 2.6 GHz ...

  9. 我的世界java版GTA服务器_我的世界Java版游戏服务器搭建

    本文简要介绍在Linux云服务器上部署我的世界Java版服务端的方法 一.选购云服务器 建议使用CentOS7.x或8.x系统. 二.远程登录服务器 可以使用云服务商提供的网页登录的方式,也可以SSH ...

最新文章

  1. nginx php 配置 windows_Windows下配置Nginx使之支持PHP
  2. zigbee看门狗综合实验_2.5KW风光互补发电教学实验系统,风能太阳能发电实训装置_搜狐汽车...
  3. 1.sql 数据据基础_数据库的组成
  4. Acwing 1085. 不要62
  5. git 大文件报错Out of memory, malloc failed、 The remote end hung up unexpectedly
  6. 计算机科学与技术大学生职业规划,计算机科学与技术大学生职业生涯规划ppt
  7. mac下配置openfire
  8. android获取程序名称,Android获取应用程序名称(ApplicationName)示例
  9. python中 将字符串和字典的相互转换
  10. HDU 1995 R-汉诺塔V
  11. TwinCAT3中台达A2增量编码器伺服使用PDO方式回零
  12. Android fastboot下载模式或reboot流程解析
  13. 华为面试题--字符串重排
  14. 计算机二级答题技巧口诀,计算机二级考试答题技巧(祝逢考必过)
  15. 1958年第一台电子计算机,第一台电子计算机
  16. 【一分钟解决】Matplotlib 中英文混排多字体设置问题
  17. 数据分析-人群画像和目标群体分析
  18. UnityShader学习——非真实感渲染
  19. 当@PathVariable遇上了.
  20. 用BP神经网络解决简单的分类问题

热门文章

  1. 手机连接电脑wifi上网_手机设置无线路由器方法教你一分钟学会WIFI上网(无需电脑)...
  2. 亲密关系沟通-【价值感】-确保价值感的沟通方法
  3. 重新安装Jenkins
  4. 覆盖17类面试题小结
  5. 基于持续集成的轻量级接口自动化测试 【持续更新...】
  6. 一个在职的软件测试的日常工作是怎么样的?
  7. 云服务器如何重新引导,重新启动server服务器
  8. 华为手机助手安卓版_91手机助手安卓版
  9. 心理学巨著《影响力》读后总结
  10. 计算机控制pud,控制系统状态空间实施方案计算机控制技术课程实施方案