问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中线程与进程到底如何理解啊?到底什么是线程,什么是进程啊?如何...

发布网友 发布时间:2022-04-23 16:32

我来回答

3个回答

热心网友 时间:2022-07-08 14:32

程序是计算机指令的集合,它以文件的形式存储在磁盘上。程序是通常我们所写好的存储于计算机上没有执行的指令的集合,通俗的讲就是我们自己写的代码。我们写的代码不可能只是为了存储吧,必须运行才不会浪费我们的辛苦,等到我们将我们的代码运行了,就产生了进程。
进程:是一个程序在其自身的地址空间中的一次执行活动。通常的程序是不能并发执行的。为了使程序能够独立运行,应该为之配置一些进程控制块,即PCB;而由程序段,相关数据段和PCB三部分构成了进程实体。通常我们并不区分进程和进程实体,基本上就代表同一事物。进程是资源申请、调度和独立运行的单位,因此,它使用系统中的运行资源;而程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位,因此,它不占用系统的运行资源。
20世纪60年代人们提出了进程的概念,在OS中一直都是以进程作为能独立运行和拥有资源的基本单位。但是进程间的切换比较麻烦费时,所以在20世纪80年代人们为了提高系统内程序并发执行的程度,进一步提高系统的吞吐量,提出了比进程更小的能独立运行的基本单位。线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。一个进程可以同时拥有一个或者多个线程,这几个线程共享同样的数据。
现在的CPU几乎都是多核的了,这样多线程的程序,运行起来就更加流畅。

这个就好比我们算一道数学题(2+3)*(5-3),如果我们使用左边的单线程,只能是先算2+3然后算5-3,最后结果相加。但是如果我们使用右边的多线程,我们可以同时对2+3和5-3进行运算,然后再对最后的结果相加。我想哪个运行的比较快就不用说了,另外多线程在图像处理,多用户通信等方面用户都很多。
可能读者会说如果我们用的是单CPU的PC那么他们就差别不大了,但是现在的事实是现在的PC基本都是多核了,所以多线程是为了我们更好的将程序移植到多核的CPU上。还有一点就是对于线程的切换,比进程的切换速度快的多,多线程更好的发挥CPU的效率。
写的不好,如果哪里错了希望大家指出。希望对你有帮助。

参考:http://blog.csdn.net/mengxiangyue/article/details/6864100

个人的一点观点:其实不一定多线程就比单线程快,特别是在处理简单运算的情况下(如上文的例子),因为线程的开启,调度会占用远比简单运算多得多的系统资源,所以只有在一些复杂运算对性能要求特别高的情况下,并且硬件支持的情况下,或者在处理阻塞问题的时候才需要用到多线程。

热心网友 时间:2022-07-08 15:50

一个程序至少有一个进程,一个进程至少有一个线程.

线程的划分尺度小于进程,使得多线程程序的并发性高。
另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.
希望对你有所帮助

热心网友 时间:2022-07-08 17:24

进程是静态的 是一个镜像
线程是动态的 一个程序在运行的时候会先开辟线程然后执行里面的方法 开辟更多的新线程 而进程则是操作系统用来给用户进行展现程序运行的一种机制
所以说在实际开发中不管是java还是其他语言 都是只存在线程的
楼主一个学习有困难的话可以看下java的视频,讲解的都是很有经验的教师或项目经理,比自己摸索好多了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
中华新生活倍倍加重疾险(互联网)-智多星版值得推荐吗?注意哪些问题? 中华新生活倍倍加重疾险(互联网)-智多星版的优点和缺点是什么?保障内 ... 中华新生活倍倍加重疾险(互联网)-智多星版应该小心哪些陷阱? 中华新生活倍倍加重疾险(互联网)-智多星版有优点嘛? 中华新生活倍倍加重疾险(互联网)-智多星版怎么样?有什么优缺点? #儿时疑惑#真的有龙这个动物嘛? 12生肖就他现在没有哦 去俄罗斯旅游的饮食禁忌 去俄罗斯旅游怎么注意饮食 ...而正常写着3.6--6.1mmol/L,请问我是不是得了糖尿病了? ...得了糖尿病,请问对毕业有什么影响吗,再就是我可以得到保险吗(当然我... 250V2A 的美标电器,问题~~~ Java中,线程是什么意思,多线程又是什么 java线程和进程的区别 线程和进程的区别 java线程是什么 Java进程和线程之间有什么不同? java进程和线程的区别 Java基本概念之线程和进程有什么区别 Java开发中,线程和进程有什么区别 java 中线程与进程的区别是什么? java进程和线程的区别? 什么叫励志? 一些励志的句子 飞利浦显示器设置里的DPS是什么?可以选开或关,是开好还是关好 飞利浦显示器能卖多钱? 飞利浦显示器怎么换中英文 怎么关闭飞利浦显示屏Smartimage 飞利浦显示器调节显示器时怎么操作? 请问飞利浦显示器怎么解锁啊? 飞利浦显示器优点和缺点 philips显示器怎么调节分辨率 飞利浦和AOC这两款显示器哪个好啊? java中进程和线程的有什么区别? JAVA中进程和线程如何理解? 在Java中,进程和线程的却别,最好能实例说明 java中是单进程多线程还是多进程多线程 java单线程和多线程的区别 java中如何实现多进程并发?注意不是多线程 java thread线程怎么按照顺序执行 怎样做幻灯片的字体? 在ppt中怎么设置字体的排列形式字体的形式怎么设计,有弯月的那种? PPT怎样做的出彩?要具体方法和步骤。 中国边境扫毒每年牺牲多少战士? 致敬边防官兵!他们平时主要的工作是什么? 武警每年牺牲最多的警种 4名戍边英雄在中印边境牺牲,被授予什么称号? 边防战士的感人事例 四川00后牺牲边防战士李波“回家”了,他究竟是因何牺牲的? 在驻海地的维和警察中,中国牺牲了几位 向无私奉献的边防军战士致敬! 玉加什么偏旁组成新字在组词 对越自卫反击战诸几牺牲了几位军人