楼主fenjin(奋进)2005-08-26 07:29:30 在 VC/MFC / 进程/线程/DLL 提问

我所知道的方法:  
  1、分成几个小的文件,然后再合并。  
  2、写入一个文件,通过移动写入位置来写入对应的数据。  
   
  方法1的缺点是生成多个临时文件,方法2的缺点但下载中断时文件的大小于实际写入的数据不相符!  
  而FlashGet下载后的文件只有一个文件,而且下载多少数据就显示多少!  
   
  请高手指点!  
  谢! 问题点数:20、回复次数:11

1 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2005-08-26 10:54:15 得分 0

同步!

2 楼hamimelon(夜过留香)回复于 2005-08-26 11:38:23 得分 0

同时写的话,要用临界区

3 楼noneone(noneone)回复于 2005-08-26 17:03:54 得分 0

一种土办法,建立一个filemap,然后就可以当成多线程访问同一块内存来处理了,需要记录一下位置信息

4 楼fenjin(奋进)回复于 2005-08-26 21:51:52 得分 0

能否给提供点代码学习学习!  
  同步是什么意思?

5 楼mynamelj(夏娃的诱惑)回复于 2005-08-28 14:47:17 得分 0

FlashGet應該不是多線程寫文件﹐它是多線程下載文件﹐然后放入一個內存區﹐再寫入文件中。  
   
  其實它并不需利用多個線程來寫文件﹐只要文件下載到了內存區中寫文件的速度是相當快的。

6 楼jiangsheng(蒋晟.Net[MVP])回复于 2005-08-29 00:09:33 得分 0

每个线程访问的文件区域固定的话可以用方法2,否则还是用方法1

7 楼cfgm(风色幻想)回复于 2006-02-13 17:41:05 得分 0

建立内存缓冲区,比如8M,多线程共用,当满了以后,就有另一个检测线程负责转移到硬盘文件中。  
   
  迅雷似乎是这样做的。这样的好处是下载与文件大小无关,无论是多大的文件,都只用固定的内存缓冲区。

8 楼cfgm(风色幻想)回复于 2006-02-14 09:33:30 得分 0

这里有一个例子,我刚写的一个  
   
  http://guoxin.org/home/guoxin/blog/blogView.asp?blogId=225  
   
  提供试用版下载

9 楼striking(庸人自扰)回复于 2006-02-15 09:22:38 得分 0

flashget   下载的时候先生成文件,   然后用2

10 楼xrenwu(卖火柴的大男孩)回复于 2006-02-17 14:21:35 得分 0

好贴,我顶

11 楼gao_ming77(小明)回复于 2006-02-17 14:27:20 得分 0

先生成一个文件,里面填充占位数据。然后多个线程,分段利用完成端口方式(WriteFileEx)写文件。

如何把多线程下载的数据按位置写入一个文件相关推荐

  1. matlab 循环写excel文件,matlab数据自动循环写入excel文件

    功能说明: 1.表格第一行(1)要留着添加表头描述,同时也可以随时向表格手工添加数据,因此不能用计数进行循环 第一列(A)为时间戳字符串(如20150413123415).每次运行程序就存储一次数据, ...

  2. 通过python多线程下载基于m3u8和ts的视频文件

    开篇介绍 需求和使用场景 有些时候想要把在线观看的视频保存下来,或由于在线看很卡顿想离线看,但官方并没有提供下载工具,如果使用录频软件则电脑同时不能进行其他操作,而且有些电影看过一遍也不会想再看,因此 ...

  3. 下载的时候提示:“写入到文件时产生错误(请用磁盘检查工具检查修复)”的解决办法

    载的时候提示:"写入到文件时产生错误(请用磁盘检查工具检查修复)"的解决办法: 下载的文件要是大于2G,而你的硬盘分区格式是FAT32的话就有可能会出现这种情况,虽然FAT32支持 ...

  4. (获取qq群成员信息,并下载头像,每个群保存一个文件夹)

    # 1.获取到自己qq里面所有的群,并且保存每个群里面的群成员信息到mongodb里面# 下载每个群的群成员的头像# 1.抓包,抓到获取自己所有qq群的接口 requests模块 https://qu ...

  5. python读写文件详解,将数据写入一个文件或读一个文件写入另一个文件中。

    目录 实践一:读取文件并打印,read() 实践二:读取文件的一行并打印,readline() 实践三:读取文件的所有行存入到一个列表中并打印,readlines() 实践四:向文件中写入字符串,wr ...

  6. tensorflow2.0下载mnist数据存放位置

    window:c/用户/账号/.keras/datasets linux:/home/用户名/.keras/datasets

  7. libcurl多线程下载开发过程中需要注意的一个问题

    使用libcurl进行多线程开发,发现明明已经接收到正确的文件长度的数据,可是我却看到文件长度值比真实长度,计算其md5自然也会出错. 这不是我所希望看到.究竟是什么情况导致的呢? 后来发现,线程池销 ...

  8. python多线程下载器_用 python 实现一个多线程网页下载器

    学习之 #!/usr/bin/env python # -*- coding:utf-8 -*- import urllib, httplib import thread import time fr ...

  9. 【OpenCV3】cv::Mat中的数据按行列写入txt文件中

    在使用opencv进行图像处理的过程中,经常会涉及到将文件中的数据读入到cv::Mat中,或者将cv::Mat中的数据写入到txt文件中. 下面就介绍一种我常用的将cv::Mat中的数据写入到txt文 ...

最新文章

  1. 诺奖得主克鲁格曼:比特币是庞氏骗局,但不一定很快走向崩溃
  2. !--处理:借款冲销不自动冲减预算--
  3. Python重用父类方法和super的使用
  4. centos上那装qq2012
  5. Ajax基本案例详解之$.getjson的实现
  6. 曲速未来 揭示:发现假EOS钱包窃取用户资金
  7. mdl文件是c语言,MDL文件扩展名 - 什么是.mdl以及如何打开? - ReviverSoft
  8. 微信聊天记录导出文本
  9. 在抖音做电商:是赚是赔,往往取决于几分钱的算计
  10. 转自登峰之群:晓军教材(一)
  11. 百度地图迁徙大数据_百度地图迁徙大数据:复工后北上广深城内出行年后首次大幅增长...
  12. 不为环境所动就能成功——职场人士寓言(3)
  13. sccm服务器远程,sccm服务器是什么
  14. 毕业后,他年薪百万,我年薪刚破十万,人和人之间的差距怎么这么大?
  15. 需求与商业模式创新-商业模式考试复习
  16. 【Ubuntu】SMBus Host controller not enabled(虚拟机进入不了图形界面)
  17. Java监听器实现网站在线人数统计
  18. 我的第一个c语言小程序
  19. TOP-K问题(清晰,巨全)
  20. android手机做个人网盘,[干货Get!]Android搭建Cloudreve私人云盘 来自 kindyear

热门文章

  1. js以yyyy-MM-dd HH:mm格式获取当前系统日期
  2. 2021-7-7HTML5前端基础
  3. unity沙子堆积_unity游戏逼真沙子和白雪粒子特效渲染创建插件Basic Sand amp; Snow 1.0 - 素材巷...
  4. 如何将PDF文件转换CAD格式?
  5. vcruntime140.dll下载【vcruntime140.dll丢失的解决方法】
  6. vue基于Blob.js和Export2Excel.js做前端导出excel兼容ie
  7. 设备树语法,加载过程和与驱动的关系
  8. dsp/bios初步了解
  9. 图像特征提取——韦伯局部描述符(WLD)
  10. 区块链教程Fabric1.0源代码分析配置交易-生成通道配置二