 [原创]线程、进程与计算机工作的关系(基础教学)——无情嘲笑万邦来朝的“无线程”论 [博客帖]
文章提交者:fifa007
加贴在 国货当自强
铁血论坛 http://bbs.tiexue.net/bbs_155.html
在这里,俺不想用什么高深的技术字眼,那么就用类比法吧。
好比,某男A今天中午吃饭的时间想看NBA的直播,所以自己事先买好了蛋糕、水果、酸奶、矿泉水等等,一应俱全,放在茶几上,边看电视,边吃东西,偶尔还要给女朋友发发短信。
[ 转自铁血社区 http://bbs.tiexue.net/ ] 那么,某男A的切身体验就好比是计算机操作系统,看NBA、吃东西、给女朋友发短信,就好比这个操作系统在同一时段必须完成的几大项工作——等同于计算机中的进程。
但进程还是可以细分成具体执行单元的,也就是说,某男在某一时刻完成的某类工作还可以细分为更详细的事务。比如,看NBA的时候,他觉得声音太小,他一边看,一边拿遥控器开大音量,也就是说,他看NBA的任务划分为了两个小任务,一个是观看,一个是调节音量,在他觉得音量合适以后,他把遥控器放下了,继续观看;这个反映在计算机操作系统的任务管理里面就成了——“观看”这个是“看NBA”这个进程的主线程,“调解音量”这个是“看NBA”进程的辅助线程,当调解音量的任务达成后,“调解音量”这个辅助线程就自行退出或者被挂起休眠起来(即很长时间都不会再占用中央处理器的时间资源了)。
现在再看“吃东西”进程。有联想力的战友可能已经想到了,我们吃东西的进程也会划分为很多小线程——如,吃蛋糕线程、吃水果线程、吃酸奶线程、喝矿泉水线程。这是比较合理的划分,而且正常情况下,我们吃东西都是分开吃的,不可能一股脑所有东西全部塞到嘴里。不过万事皆有可能,如果某男A真的把所有的东西一股脑全塞进嘴里吃怎么算?没关系,只不过,没有了多个小线程,而有了一个“一口吃掉所有东西”的线程,在这种情况下,“吃东西”这个进程就不再是多线程任务了,而成了单线程任务了。那么有没有可能不要线程就把东西吃掉了呢?这个当然不可能,你不把东西塞进嘴里怎么吃?只要你把东西塞进嘴里,这就是执行了线程任务了。
不过,“一口吃掉所有东西”实在太辛苦了,浪费资源不说,人还不舒服,所以如果东西很多的时候,正常情况下,我们就应该把工作细分为吃蛋糕线程、吃水果线程、吃酸奶线程、喝矿泉水线程,而且这个吃的过程还有讲究——如果你是一股脑先干掉大蛋糕、然后再吃掉一斤水果,再喝一公升酸奶,最后再喝矿泉水一瓶,撑也撑死了,而且无法全然享受到所有的美味。正确的做法应该是,先吃一点蛋糕,再吃一根香蕉,喝100ml酸奶,然后再吃点蛋糕,这次水果就吃点葡萄,等等。也就是说,最好的方法就是,每种线程都执行一会,平均地分配时间,能够很好的搭配营养和口味;计算机操作系统XP也是这么工作的,它不会一个线程执行结束了再执行下一个,它会一个执行了一会就先挂起来,然后换下一个执行,这么循环不断。
那,现在又要讲到所谓“多窗口”和“多线程”的区别了。比方说,蛋糕太大了,把蛋糕分为8等分,这就好比吃东西这个进程因为吃蛋糕打开了八个窗口;但目前吃蛋糕的线程还只有一个,那么我一次拿起一块吃,依次吃完,这是一种方法——由于划分了8块,也确实避免了蛋糕上的奶油涂到脸上。还有一种方法,我多加一个线程,左右手分别拿一块蛋糕,左一口右一口把蛋糕吃完,然后继续拿蛋糕这么左右开弓,这样也行,还算合理。第三种方法,我多加7个线程,也就是说总共有8个吃蛋糕线程,那么我就必须左右手拿蛋糕各吃一口,然后放下,换上别的蛋糕,各咬一口,再放下,再换新的蛋糕... ...吃个蛋糕,拿起放下,反反复复,这么忙乎,太不值了。这一段的意思就是,吃蛋糕切几块,和我们采取什么顺序吃没什么关系,也就是说多窗口和多线程是八杆子打不着的两码事。
现在,我们最终就要面对万邦来朝的言论了。
[ 转自铁血社区 http://bbs.tiexue.net/ ] 1、他一开始是宣称自己的程序是没有线程的,好比宣称自己没张口就把所有的蛋糕、酸奶、水果、矿泉水一股脑全吃了一样。
2、他后来改口了,说自己的程序只用单线程就行了,不用多线程;这就好比看NBA时,把画面关掉了调解音量一样可笑;也好比吃东西海吃胡塞,一张嘴就把蛋糕、水果、酸奶、水全塞进嘴里一样可笑。
3、他再次狡辩说,自己单线程就能实现多窗口,能够完成多线程的任务。呵呵,假设蛋糕上奶油好吃,难道说,把蛋糕切了8块,他就能捡着自己喜欢的奶油先吃么?他还不得先吃一块,再吃一块,...他只能一次拿一块,不像多任务时,一次拿多块。
大家明白了吗? 本文内容为我个人原创作品,申请原创加分 转载请注明出自铁血tiexue.net, 本贴地址: http://bbs.tiexue.net/post_2336079_1.html
[点击查看灌水过滤后的回复]
本帖已赚工分: 527
本帖已赚金币: 0
加准原创: 鹰的重生 10-26 18:54
原创转正: 铁血管理中心 10-27 03:30
加准精华: 盖天第一手 10-28 15:01
精华转正: 盖天第一手 10-28 15:02
解除精华: 盖天第一手 10-28 15:15
---------------------------------------------- [img=200x200]http://pic.tiexue.net/pic.aspx?id=33506[/img]
吴门之子,季扎之后;
生于潇湘风雨之畔,
长于荆楚蜀汉之中;
素喜辞赋,有金戈铁马之气;
与人为善,但求天地人和;
喜家国之喜,忧天下之忧。
此志甲申年丁丑月乙未日。
|