为什么象网络蚂蚁这样的多线程程序可以加快下载速度? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiAPI/html/delphi_20061123172417180.html
现在的下载程序都是多线程的,可以加快下载速度。但是我们用的都是单cpu机子,不明白为什么多线程可以加快下载速度。  
  比如现在有一个任务是往表里加100w条记录,我感觉用1个线程去执行和用5个线程去执行时间是差不多的。

http://community.csdn.net/Expert/topic/4867/4867262.xml?temp=.5583002

觉得这两个例子没有可比性。  
   
  1)我举个例子,可能不大正确。CPU的分成10份的时间去执行任务,现在这个程序轮到的执行时间是十分之一,现在我多开10个线程,那么这个程序轮到的执行时间就远远大于十分之一了。  
   
  2)数据库更改表的时候,可能会对表进行锁定。你可以比比看,用5个线程执行5张表各插入20W记录。

其实就是等于   你在一起下载5样东西    
  占服务器5个连接

我想搂住可能想错方向了。这个道理是很明显的

呵呵

无语,路过。

为什么象网络蚂蚁这样的多线程程序可以加快下载速度?相关推荐

  1. 网络蚂蚁与FlashGet的文件多线程下载原理

    最近自己写了一个类似网络蚂蚁和FlashGet一样的程序,主要是为了自己能学点东西,不过还好,已经有点样子了,已经实现了类似它们的界面风格和功能,只是里面的下载任务.错误任务.已完成任务.中止任务的调 ...

  2. 利用C#线程窗口调试多线程程序

    从网上的资料判断,调试多线程程序似乎就一下3种方法. 1.在日志的某个地方写日志文件. 优点:不会干扰程序的执行,特别是对网络的多线程通信. 缺点:每次都需要打开日志文件以查看进程运行的信息. 2.利 ...

  3. C#使用线程窗口调试多线程程序

    调试多线程程序一般有以下几种办法 1.在日志的某个地方写日志文件. 优点:不会干扰程序的执行,特别是对网络的多线程通信. 缺点:每次都需要打开日志文件以查看进程运行的信息. 2.利用断点进行调试. 优 ...

  4. 5. 多线程程序如何让 IO 和“计算”相互重叠,降低 latency?

    基本思路是,把 IO 操作(通常是写操作)通过 BlockingQueue 交给别的线程去做,自己不必等待. 例1: logging 在多线程服务器程序中,日志 (logging) 至关重要,本例仅考 ...

  5. [C++11 std::thread] 使用C++11 编写 Linux 多线程程序

    From: http://www.ibm.com/developerworks/cn/linux/1412_zhupx_thread/index.html 本文讲述了如何使用 C++11 编写 Lin ...

  6. Linux多线程实践(10) --使用 C++11 编写 Linux 多线程程序

    在这个多核时代,如何充分利用每个 CPU 内核是一个绕不开的话题,从需要为成千上万的用户同时提供服务的服务端应用程序,到需要同时打开十几个页面,每个页面都有几十上百个链接的 web 浏览器应用程序,从 ...

  7. 对多线程程序,单核cpu与多核cpu如何工作相关的探讨

    对多线程程序,单核cpu与多核cpu如何工作相关的探讨 我们程序员在编码的时候,涉及到技术方案时,往往会忽略掉代码对性能方面的影响,或者没有足够的敏感度来帮助自己判断自己的技术方案对系统性能造成的影响 ...

  8. 对于多线程程序,单核cpu与多核cpu是怎么工作的

    此文中的大部分资料来自于网络上,我只是觉得把有道理的整理一下,方便以后查阅. 1.多线程在单核和多核CPU上的执行效率问题的讨论 a1: 多线程在单cpu中其实也是顺序执行的,不过系统可以帮你切换那个 ...

  9. c语言如何多核运行程序,对于多线程程序,单核cpu和多核cpu如何工作?

    1. 单核和多核CPU上多线程执行效率的探讨 a1: 多线程实际上是在单个CPU中按顺序执行的,但是系统可以帮助您切换该执行,但是它不是很快的(相反,是缓慢的) 如果有多个cpus,则可以同时在两个c ...

  10. java如何确保单线程_java – 任何单线程程序如何成为有效的多线程程序?

    注意,该语句并不意味着任何正确的单线程程序也是正确的多线程程序,作者只是说明有可能将任何单线程程序转换为在多线程环境中执行. 但是,如果程序在单线程环境中已经不正确,那么在更复杂的多线程环境中它可能不 ...

最新文章

  1. 亚马逊专家揭秘:如何建立自动检测乳腺癌的深度学习模型
  2. FPGA跨时钟域设计的一点总结
  3. 我们来谈谈面向指针编程的那些事
  4. 【收藏】docker安装redis
  5. 戴尔电脑 linux ssh,使用SSH管理Dell iDRAC远程控制卡
  6. python定义函数计算斐波那契公式前20的项_Python3算法之二:斐波那契函数
  7. 数据库年月日时分秒_数据库基本使用系列(二)
  8. linux md5加密文件,Linux下对字符串进行MD5加密
  9. 最全python爬虫库安装详解
  10. python 面向对象编程tcp_python 闯关之路三(面向对象与网络编程)
  11. 微软开源深度学习优化库 DeepSpeed,可训练 1000 亿参数的模型
  12. 2015 ACM/ICPC Asia Regional Shenyang Online题解
  13. BZOJ3813 奇数国
  14. Window OS-拾贝
  15. 机器学习的归宿《终极算法》·一
  16. 课时1 Excel简介与基本操作
  17. python 实现 加减乘除,对数指数,三角反三角计算器
  18. 淘宝+京东+拼多多+苏宁易购+聚划算百亿补贴,双11秒杀抢购助手脚本,分享源码
  19. Shopee面试问题整理
  20. 解决WARNING: Ignoring invalid distribution -pencv-python (c:\users\lhw\anaconda3\lib\site-packages)

热门文章

  1. goroutine--退出示例--context的使用
  2. 华硕笔记本返厂维修流程_Intel EVO严苛认证!14款极品笔记本上市:秒光|英特尔|笔记本|华硕|宏碁|惠普|微星...
  3. Python数据可视化库——Matplotlib
  4. 正则表达式在NLP的基本应用
  5. Python,入门1
  6. 算法与数据结构1800题 之字符串(一)
  7. MYSQL数据库事务介绍
  8. 《Android程序设计》一3.8 Android应用打包:.apk文件
  9. priority_queue用法
  10. 组建Forefront TMG独立陈列(上)-案例介绍与服务器准备