黑马程序员技术交流社区

标题: 怎么理解多线程和单线程 [打印本页]

作者: 张周飞    时间: 2014-6-4 10:35
标题: 怎么理解多线程和单线程
本帖最后由 张周飞 于 2014-6-13 10:36 编辑

多线程经常看到 还不理解,,怎么理解多线程和单线程?? 求解答..........
作者: f78fk    时间: 2014-6-4 10:42
单线程:你要做饭,又要买菜,烧菜又要煲汤,这些都是你一个人完成的,而且做完一件事才能做另一件事,
多线程:多个人一起做饭,你去买菜的同时另外一个人煲汤,这样效率就增加了。
作者: 200米王朝    时间: 2014-6-4 10:43
多线程就是

火车站卖票  您说是一个窗口卖1,2,3...号票好呢

还是 4个窗口 同时卖1,2,3...号票好呢 这些"同时" 通过多线程的设定 则依然满足先后顺序
作者: 倪大大    时间: 2014-6-4 12:54
其实就是 一个做,和多个人一起做,
比如火车站卖票,火车站总共有100张票要卖,
你只有一个窗口在卖票,那么就是单线程 假如一个窗口1小时能卖20张, 那你卖完100张就需要5个小时
你多开几个窗口(比如 5个窗口)一起卖票,那就是多线程, 一个窗口1小时同样能卖20张,5个窗口一起卖 1小时就能卖完100张票
作者: 七弦    时间: 2014-6-4 13:00
简单说说一下吧:你可以理解为一个应用程序(软件)是一个进程,线程是在进程中的。一个进程可以有一个或多个线程,看起来就像某音频播放软件,一边在显示歌词、一边在显示音频柱、一边在放歌。
作者: 姿_`态    时间: 2014-6-4 13:23
比如说迅雷,你有一个下载任务的时候那就是单线程,但是你有很多下载任务同时进行的时候,他就是多线程。线程就是进程的更细的划分。比如说你编写一个程序,同时开启三个线程,那么这三个线程都会同时运行,不分先后,而如果开启的只是一个线程那么就是单线程,也就没有先后之分了。
作者: a6217815    时间: 2014-6-4 16:12
食堂打饭的阿姨,只有一个阿姨打饭就是单线程(阿姨走了队伍就卡着不动或者结束了);多个阿姨就是多个线程(走了一个阿姨,不影响其他的阿姨打饭),我是这么理解的
作者: tangchuanping    时间: 2014-6-4 17:14
线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。

单线程就是程序中只有单一的顺序控制流程,多线程就是一个程序中同时运行多个线程,完成不同工作
作者: jiang_ming    时间: 2014-6-4 17:21
火车站卖票,多个窗口一起卖,而且都能买到你要的票,就是多线程;
只有一个窗口开,就是单线程
作者: 少先队员    时间: 2014-6-5 01:37
生活中很多例子啊, 比如说 你吃饭的时候也能看电视,和玩手机。这是多线程。
比如说你喝水的时候你不能说话,这个时候可以理解为单线程。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2