黑马程序员技术交流社区
标题:
线程
[打印本页]
作者:
张小军
时间:
2014-6-25 11:18
标题:
线程
线程我看了教材,还是没整明白是怎么回事,谁能说说
作者:
张周飞
时间:
2014-6-25 11:33
给你举几个例子:
线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。
单线程就是程序中只有单一的顺序控制流程,多线程就是一个程序中同时运行多个线程,完成不同工作
多线程的作用,应该就是并发吧。
同时执行多个小任务。比如 买车票软件吧 比如聊天室,比如ajax的底层实现
1:单线程是一只锅,你只能煮好粥,再炒盘菜,然后才能吃饭。
多线程你可以有两只锅,同时煮粥喝炒菜,吃饭就快了。
可以一边酷狗听歌,可以一边快播看电影,然后浏览淘宝-----来自因特尔超线程技术
2:食堂打饭的阿姨,只有一个阿姨打饭就是单线程(阿姨走了队伍就卡着不动或者结束了);
多个阿姨就是多个线程(走了一个阿姨,不影响其他的阿姨打饭),
3:火车站卖票,多个窗口一起卖,而且都能买到你要的票,就是多线程;
只有一个窗口开,就是单线程
4:比如说迅雷,你有一个下载任务的时候那就是单线程,但是你有很多下载任务同时进行的时候,他就是多线程。
线程就是进程的更细的划分。比如说你编写一个程序,同时开启三个线程,那么这三个线程都会同时运行,不分先后,
而如果开启的只是一个线程那么就是单线程,也就没有先后之分了。
5:其实就是 一个做,和多个人一起做,
比如火车站卖票,火车站总共有100张票要卖,
你只有一个窗口在卖票,那么就是单线程 假如一个窗口1小时能卖20张, 那你卖完100张就需要5个小时
你多开几个窗口(比如 5个窗口)一起卖票,那就是多线程, 一个窗口1小时同样能卖20张,5个窗口一起卖 1小时就能卖完100张票
{:3_64:}
楼主明白吧?
作者:
luojunwei1992
时间:
2014-6-25 14:58
顶1l,解释的已经很详细了
作者:
郑飞
时间:
2014-6-25 15:46
如何创建多线程: 继续和实现2种
安全问题:同步代码块和同步方法
锁对象归属:代码块用的锁对象和同步方法用的锁对象
把前面基的本原理弄清楚才好学懂
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2