对多线程起源的思考
来源:互联网 发布:json里面有html标签 编辑:程序博客网 时间:2024/04/29 05:07
在某些情况下(比如网络扫描),我们会选用多线程而不是单线程来实现我们的功能。很多人说是因为多线程快,其实这是不对的。快慢只是相对而言。假如程序的几个功能不会相互影响,那么采用多线程并行执行不比单线程串行执行快。因为多线程要赔上不少线程切换时间。
我的理解是:因为单线程有先天缺陷。
我们知道,计算机发展的初期,所有的程序都是顺序执行的。那时候没有多线程的概念。后来为什么人们要求有多线程呢?一是操作系统的发展使并行成为可能(这不是主要的),二是人们受够了单线程的先天缺陷。什么先天缺陷呢?一段程序,它可以从逻辑上分成几个功能模块。这些模块可能相关,也可能毫无关系。单线程的缺陷就在于,当当前模块没有执行完毕的时候,其它模块根本没有机会执行。这里我要强调的是,这是从单线程的缺陷来看的,不要小看了这个角度的转换。是因为单线程在这方面表现不好,所以我们才会思考其它的方法,而并非是因为多程好,所以我们选择了多线程。这样看有利于从发展的角度把从单线程到多线程的历史看透。而对资源的同步访问,更多的是因为多线程的出现而出现的。
- 对多线程起源的思考
- dubbo起源的思考
- 《物种起源》带来的思考
- 对java多线程的一点思考
- 自己对多线程的一点思考
- 对思考的思考
- 对javav的一些起源认识!
- 我对JAVA中一个多线程程序的思考
- 对无效思考的思考
- 多线程错误的思考
- 多线程的一点思考
- 关于多线程的思考
- 关于多线程的思考
- java多线程的思考
- Java多线程的思考
- 多线程的学习思考
- 多线程的一些思考
- 关于多线程的思考
- Linux启动代码分析
- 操作系统进程调度模拟程序 基于优先级调度和时间片轮转调度算法
- 连接字符串存放
- 蛰伏半年之后我终于可以上来打理一下我的空间了
- DELPHI中与web应用有关的几个类
- 对多线程起源的思考
- Internet编程技巧1
- oracle 用法备忘 last_day
- CVS2.5 windows部署和linux文件迁移
- 如何备份IIS和DNS里的信息
- C#2.0 extern修饰(转载)
- 经典短小代码收集
- 产品原型设计软件Axure RP Pro 5
- 金山KingGate中小企业安全套装