InternetOpenUrlA 多线程+同步,崩溃

alexueQ 2010-03-15 11:37:00
我使用WinInet进行下载工作。首先开辟了一个控制线程负责分配下载任务给子线程,再开辟四个子线程负责下载工作。
InternetOpen(NULL, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);我在使用时直接使用的是同步方式进行下载。当我强制使用一个子线程下载时,没有任何问题。然而一个以上线程并行下载时。在执行到
InternetOpenUrlA(internetOpen, url,NULL, 0, INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_PRAGMA_NOCACHE, 0);这里时出现错误。
错误截图如下:

请大家帮我看看,个人觉得在这里是不是必须使用异步连接呢。
...全文
231 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyyoung 2010-10-09
  • 打赏
  • 举报
回复
多个线程间 如需要修改和访问共享资源,则需要考虑同步异步;可以看下socket各个模型的处理方式,便有深刻体会
alexueQ 2010-03-15
  • 打赏
  • 举报
回复
这个是截图: http://hi.csdn.net/attachment/201003/15/3706578_1268624565yl4I.jpg
alexueQ 2010-03-15
  • 打赏
  • 举报
回复
图片链接如下: http://hi.baidu.com/xq850325/album/item/b852287fedb8e20d0cd7dad4.html
alexueQ 2010-03-15
  • 打赏
  • 举报
回复
找到错误原因了,和WinInet没有一点儿关系。是因为我传送的URL字符串不对造成的。
还有一个问题。顺便问问:多线程下的同步和异步到底区别是什么?
stjay 2010-03-15
  • 打赏
  • 举报
回复
认真看报错提示
vsprintf.c
Buffer too small

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧