weixin_39391823
UKnowImJin
采纳率52.6%
2017-10-09 07:59 阅读 1.9k

关于C#线程暂停的问题

做一个下载程序,在不同的时间段自动下载不同时间段更新的文件,
怎样让它下载完某个一个时间段的文件后暂停,等到下一个时间段在自动下载?

由于不同的时间段间隔比较大,而且根据网速的不同下载文件的速度也会不同,
比如早上6点开始下载,可能7点下载完也可能12点才下载完
,下一个文件更新的时间段是中午12点,时间就不会太固定,
所以我觉得thead.sleep()不是个好方法,请问下还有其他的方法吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • wonderfuljoy wonderfuljoy 2017-10-09 08:36

    怎样让它下载完某个一个时间段的文件后暂停,等到下一个时间段在自动下载?
    服务器端需要在在下次下载之前获取到客户端(本地)已经下载文件的字节数,然后才可以续传剩下的字节到客户端。
    如果下载速度不一样,需要考虑一下客户端和服务器端等相关网络连接的timeout 设置,比如一个session的timeout,http 执行的timeout,客户端的cookie的timeout时间。

    点赞 评论 复制链接分享
  • qq_37508511 EricBBB 2017-10-10 16:04

    新建一根线程,跑一个定时器函数,每秒检测一次,取本地时间戳,比较是否为当前时间,是就下载,不是就不下载。然后下载是队列,单线程就行

    点赞 评论 复制链接分享

相关推荐