java中程序,进程和线程的区别
来源:互联网 发布:移动2g网络可以上网吗 编辑:程序博客网 时间:2024/06/06 02:41
2.程序,进程和线程的区别 马克-to-win:程序,进程和线程的区别是什么?这个问题比较抽象难理解,但又非常重要。我并不想给出一大堆抽象的学术解释,那样只能误国误民。所以我先给大家举一个例子。马克-to-win:2000年的时候,我比较爱用ie的老版本。当时我喜欢边上网边下载很多东西,比如很多MP3同时下。我发觉如果我打开一个ie,之后用file/new,new出很多窗口来,边看网页,边下载很多mp3的话,如果有一个下载崩溃的话,所有的ie窗口就同时都崩溃了,包括网页和所有的下载窗口。马克-to-win:后来我就学聪明了,我打开两个ie。一个ie用来浏览网页。另一个ie,file/new出很多新的窗口。这样如果下载出问题了,下载的ie会崩溃。但浏览网页的ie依旧完好的工作。在上述例子当中,ie就是一个应用程序,后来我打开两个ie,就是打开两个进程。这两个进程,在内存中分别占有不同的代码空间。马克-to-win:所以一个进程崩溃不影响另外一个。后来从其中一个ie, file/new出很多个新窗口。每一个窗口就是一个线程,线程在内存当中是没有自己的代码空间的。它只能依附于进程存在。马克-to-win:所以,这个进程当中的一个线程窗口崩溃了,所有依附于这个进程的线程窗口就都崩溃了。相对于进程来讲,线程非常轻量,非常节省资源。我经常同时打开二十个窗口,下载各种音乐mp3。反正是线程,不占资源。马克-to-win:线程在内存当中没有自己的代码空间。只有程序计数器。一个线程可能执行到所依附进程的1000行,另一个线程,可能执行到第99行,这两个线程,虽然依附于同一个主进程,但他们各自执行各自的,相互不影响。马克-to-win:仔细揣摩我上面说的故事,你就会理解,程序,进程和线程的区别。给点抽象的话:程序是硬盘上的一个文件,是一个机器代码和它的数据的集合。进程是程序在内存上的一次运行活动,占代码空进。线程是依附于进程,靠程序计数器能独立运行,轻量独立运行单元。。。。。。。。。。。。。。。。。。详情请进:http://www.mark-to-win.com/JavaBeginner/JavaBeginner6_web.html#ProgramProcessThreadDifference
0 0
- java中程序,进程和线程的区别
- java中进程和线程的区别
- java中进程和线程的区别
- 进程和线程的区别,进程和程序的区别
- 程序, 进程 和线程的区别
- 进程,线程,程序的区别和联系
- 进程、程序和线程的区别
- 程序、进程和线程的区别
- 进程、线程和程序的区别
- 程序、线程和进程的区别是什么?
- 程序 进程 线程 的区别和联系
- Java中进程与线程的区别
- 进程与程序及进程和线程的区别
- IOS中线程和进程的区别
- iOS中线程和进程的区别
- Linux中线程和进程的区别
- Linux中线程和进程的区别
- Android中进程和线程的区别
- centos 7 安装五笔输入法
- 关于Maven
- Assign Cookies
- 数组之求两个sorted Array的交集
- 国际道教协会黄世真道长为《中华辟谷养生》题写序言!
- java中程序,进程和线程的区别
- shell编程笔记
- Relative Ranks
- openjudge 1.13 27:除以13
- android OKHTTP 的缓存问题
- linux C中调用shell命令和运行shell脚本
- 递归漫谈(一)
- leetcode 28. Implement strStr() 实现strStr()函数
- [PHP] 原生PHP使用递归方式实现数组转换成XML的功能之思考