黑马程序员技术交流社区

标题: 线程 [打印本页]

作者: 张小军    时间: 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