服务器间并发下载技巧

一个需求,点击页面后去下载文件 ,然后使用 ,多个用户点击下载同一个文件使用 。

分析下,需求的要求就是有人去下载了,就不再下载,等待下载完成 ,直接读取使用 。

1。问题难点 ,这么多人 ,谁先下载 ,本地有文件了,但是是否真的下载好了,还是下载了一半。

2.  第一个人先读取本地文件的同名,但是后缀为 .ok的文件 (此为自己创建的空文件,下载完成后自己创建,如果没有则证明没有下载好此文件,有的话说明文件存在,直接使用即可)

3.   如果没有  .ok 文件 第一个人会先读取  本地缓存 ,是否有人在下载了,如果没有,则加锁,并去下载 。 下载完成后,创建同名.ok 文件 

4.  第二个人去看 没有 .ok 去读取缓存 ,有人下载了,便进入等待。,如果超时则返回异常

5. 重点,任何的异常,都要移除缓存中的锁,防止下载失败,但是无人能下载 。 





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值