A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马-周建 中级黑马   /  2013-2-13 02:23  /  1563 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多线程和进程之间有什么关系,为什么要有多线程?

评分

参与人数 1黑马币 +6 收起 理由
Rancho_Gump + 6

查看全部评分

9 个回复

倒序浏览
视频里面讲的很清楚,那个买票小程序, 多个窗口卖票就是多线程。一个窗口卖效率太低了。
回复 使用道具 举报
我是这样理解的:多线程为提高程序运行效率,在一个进程(程序运行后在内存中)中同时运行多块代码(可以相同或不同),这样多线程就产生了
回复 使用道具 举报
1.线程是进程中的一个实体。
2.同一进程中的多个线程之间可以并发执行。
3.线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文.多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定. 线程的运行中需要使用计算机的内存资源和CPU。
补充一点:线程 进程 程序  是逐渐抽象的。
一个程序对应多个进程,进程有生命程序无生命,进程是动态的,而程序是静态的。

评分

参与人数 1黑马币 +9 收起 理由
Rancho_Gump + 9

查看全部评分

回复 使用道具 举报
简单的说:线程的集合就是进程!
其实我们经常写的main函数就是一个线程,一个线程是顺序执行的,将代码一步一步执行完毕。
然而在这期间cpu不能做其他任何事情,所以cpu的利用率很低。为了解决这个问题各种语言就映入了多线程,cpu就能够没隔几毫秒轮流执行一个线程,
从而实现线程的并发,cpu的利用率大大提高!
回复 使用道具 举报
进程:正在进行中的程序
线程:就是进程中的一个执行单元或执行路径,负责进程中程序执行的控制单元。
线程就是将进程中的执行代码分割开来,然后利用CPU的切换分别执行来其高效率...
回复 使用道具 举报
简单的理解:
把一个进程看做是整个城市的自来水管道,而线程是通往各家各户的小管道,相当于多个线程,这个就可以实现多个家庭同时用水。
而如果进程(主管道)关了,那么线程(分管道)也就无法进行了。
至于深入到cpu,我了解不多,好像多线程在理论上是永远无法同时进行的,只是cpu处理速度快,给我们的感觉是同时进行的。他在某一个时间点只能处理一个。
回复 使用道具 举报
杨玲 中级黑马 2013-2-13 12:59:27
8#
其实线程和进程没有什么太在的区别,当一个进程中只有一个线程时,说这个线程就是一个进程也没什么不可以,多线程的存在主要是方便于线程间通信的和提高程序的效率的.一个进程中的多个线程共享同一进程中的数据区域,这样多个线程通信起来就比较容易,提高效率就不用说了吧!
回复 使用道具 举报
为什么用多线程?举个例子,比如你过年去火车站买票,买票需要排队,你还想玩手机,那你是觉得是一边排队一边玩手机爽,还是排完队后再啥都不干单玩手机爽?前者就是多线程,后者就是单线程。
回复 使用道具 举报
一个进程可以包含多个线程,多线程可以提高工作效率
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马