多线程-在编写一个从谷歌下载影像图的程序,下载过程中,网速时快时慢,求高手指点

问题描述

在编写一个从谷歌下载影像图的程序,下载过程中,网速时快时慢,求高手指点
    这个程序开了多线程,一张图片一张图片的下载,如果,下载失败,在While循环里,Sleep一下,直到下载成功,才退出循环,这样确保每一张图片下载成功,求高手指点啊,是不是线程开得太多了,有一百多个,还是while循环处理的问题

解决方案

100多线程没有什么意义,10个线程基本上就够了。
sleep会导致当前线程休眠,看你是不是用错了。

解决方案二:

线程内处理代码如下:
bool bDownLoad = CTileDownload::StartDownLoad(tileUrl, strFile);//向服务器发送请求下载图片并保存,
while (!bDownLoad)//如果失败,进入循环,知道下载成功
{
Sleep(/*1250*/lastX*lastY);
bDownLoad = CTileDownload::StartDownLoad(tileUrl, strFile);
}

            有多线程处理的,运行过程中网速与CPU占用波峰波谷 CPU一上来网速就下去了,这应该不正常吧,高手指点啊

解决方案三:

可能是因为墙墙的问题吧

时间: 2024-10-24 11:49:51

多线程-在编写一个从谷歌下载影像图的程序,下载过程中,网速时快时慢,求高手指点的相关文章

c++-C++或者C编写一个能复制任何二进制文件的程序,但是根本写不出来,求大神

问题描述 C++或者C编写一个能复制任何二进制文件的程序,但是根本写不出来,求大神 问题是很简单啦,虽然看起来简单,想起来简单,但是但是整整用起来的时候发现根本无法实现.无论是用C++的fstream中的文件流,还是用C的stdlib的FILE都不行,exe文件可以打开,可以复制,但是复制之后的文件还有复制之前的文件内容根本不一样,现在贴上来的是主要的代码,用的是ifstream的,FILE我也试过了,同样没有用,而且,复制出来的结果比不上这个完整 void MainProcessor::rea

如何编写一个可以输出自身源代码的程序

问题描述 如何编写一个可以输出自身源代码的程序 要求: 1.该程序不能从外部读取输入: 2.该程序输出的源码不能为空: 3.不能使用语言与shell的特性投机取巧: 在满足以上3点要求的情况下改程序可以对外输出自身的源代码 解决方案 怎样写一个输出自己源代码的程序一个难题: 怎样写一个输出自己源代码的程序?一个难题: 怎样写一个输出自己源代码的程序? 解决方案二: 自己加载类class;文件然后反编译成类,关键的反编译自己写不了吧?我的思路,抛砖引玉

界面-基于WinPcap,编写一个简单的数据包捕获程序

问题描述 基于WinPcap,编写一个简单的数据包捕获程序 * 功能要求: 1) 要求提供图形界面(类似Wireshark),可以捕获网络数据包:提供包过滤功能,可以输入过滤表达式:可以指定时段抓包:显示指定数据包的内容: 2) 提供网络数据包统计功能:提供输入IP地址,向指定IP地址发送数据包 3) 提供数据转储功能,将捕获到的数据包存储到磁盘文件,并可以读取转储的文件 4) 界面美观.大方 解决方案 一个简单的摄像头视频浏览和捕获的程序(转载)WinPcap捕获数据包 解决方案二: ** 看

求助.我拿到一个用VB.net 语言 Vs2005 和Access工具 编写的程序 可我不会运行 急求高手指点

问题描述 求助.我拿到一个用VB.net语言Vs2005和Access工具编写的程序可我不会运行急求高手指点请对这方面的有研究的高手联系QQ873498013我把程序发给你,只要告诉我如何配置运行的即可.Q币相赠大伙帮帮忙啊真得很急! 解决方案 解决方案二:安装.netFrameWork2.0解决方案三:安装2005就可以调试了解决方案四:我已经加你了

【求助】如果要编写一个简单的SQL漏洞注入程序,需要学习哪方面的知识?

问题描述 我想学习编写一个简单的SQL漏洞注入程序,可惜完全没头绪,希望高手能指点迷津,最好能介绍点相关资料,语言也推荐下

三维-opengl编写一个实现对象的一点透视投影程序(写出矩阵即可)

问题描述 opengl编写一个实现对象的一点透视投影程序(写出矩阵即可) 1.给定Po V N,编写一个生成将世界坐标变换到三维观察坐标的矩阵的程序.观察向上向量可以是不平行于N的任意方向? 2.使用平行投影方法及任意指定的投影向量,编写从多面体顶点到投影坐标的变换程序(写出矩阵即可) 3.编写一个实现对象的一点透视投影程序(写出矩阵即可)

thread 方面的问题-线程的一个练习题,我已经按照题目要求实现了,但总感觉别扭,求高手修改

问题描述 线程的一个练习题,我已经按照题目要求实现了,但总感觉别扭,求高手修改 题目如下: 编写10个线程,第一个线程从1加到10,第二个线程从11加到20,....第10个线程从91加到100,最后再把10个线程结果相加. 但是,感觉自己写的太复杂,求高手指点优化. 解决方案 times++ 必须同步,要不然有线程安全问题. 而且你每个线程后都加join 那和一个线程执行有什么区别吗? 解决方案二: 你这样把a()方法锁住的话,那和一个线程直接执行1直接加到100又有什么区别呢? 解决方案三:

递归-一个比较复杂的级联删除问题 ,求高手指点

问题描述 一个比较复杂的级联删除问题 ,求高手指点 是这样的,现在要做一个通用的删除方法.删除一个配置项和其关联配置项,逻辑很复杂.首先,数据库结构大概是这样的:有N个配置项,每个配置项有一张表,每个配置项通过一个中间表和其他配置项关联.有一对一,也有一对多的.所谓配置项一般都是一种设备,有序列号CI,ROWID来区分标识,每个设备有唯一的CI,但ROWID不唯一,ROWID是递增的,用HISTORY字段来区分是否在用.新增一个设备时是新生成一个CIROWID,HISTORY为1,表示在用.而更

jsp问题-一个简单jsp文件检查了好几遍不知道为什么报错,求高手指点

问题描述 一个简单jsp文件检查了好几遍不知道为什么报错,求高手指点 <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%> <% Locale locale = request.getLocale(); Calendar calendar = Calendar.getInstance(locale); int