java进程和线程的区别
2024-08-25 16:09:49
什么是进程,什么是线程
系统要做一件事,运行一个任务,所有运行的任务通常就是一个程序;
每个运行中的程序就是一个进程,这一点在任务管理器上面可以形象的看到。
当一个程序运行时,内部可能会包含多个顺序执行流,每个顺序执行流就是一个线程。
关于进程的特性
独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源,每个进程都拥有自己私有的地址空间。在没有经过进程本身运行的情况下是不能访问其中的内容的。
动态性:进程与程序的区别在于,程序是静态的,进程是动态的。程序只是一个静态的指令集合,而进程是一个正在系统中运行的指令集合。有了时间的概念,如生命周期;
并发性:进程之间,交替着执行。
线程,一个顺序执行流;
它是进程的组成部分,一个进程可以有多个线程。
关于线程的特性,或是它的优势
1、进程之间不能共享内存,单线程之间共享内存非常的容易
2、系统创建进程需要为该进程重新分配系统资源,但创建线程的代价很小。因此多线程的实现多任务并发比多进程实现并发的效率高
3、Java语言内置多线程功能支持,而不是单纯的作为底层操作系统的调度方式
总结:
一个程序运行至少一个进程,一个进程里面至少包含一个线程,线程是进程的组成部分。
线程相对于进程而言,很强大了,做到了资源的共享,资源的损耗降低,人为的手工控制程序的运行。
最新文章
- MVC Autofac构造函数注入
- IE10、IE11解决不能播放Flash的问题!
- java多线程-Java中的Copy-On-Write容器
- [转]Android 5.0——Material Design详解(动画篇)
- iPhone 6出现后,如何将一份设计稿支持多个尺寸?
- Python 3中套接字编程中遇到TypeError: 'str' does not support the buffer interface的解决办法
- apache-maven-3.3.9集成apache-tomcat-7.0.72实现热部署配置细节
- 天坑 之 Eclipse J2EE Preview 运行正确项目一直显示http 404
- <;当幸福来敲门>;之一些很喜欢的台词收藏
- Day09 (黑客成长日记) 爬虫入门
- [转]JS学习总结-技巧、方法、细节
- c/c++ 重载new,delete运算符 placement new
- 洛谷P1553 数字翻转(升级版)
- Ionic 图片延时加载
- [漏洞分析]thinkcmf 1.6.0版本从sql注入到任意代码执行
- .bat文件调用java类的main方法
- Python小项目四:实现简单的web服务器
- elasticsearch 外网访问9200端口访问
- Oracle EBS SLA取值
- HDU 2015 偶数求和