进程和线程(基础)
来源:互联网 发布:大白菜安装双系统linux 编辑:程序博客网 时间:2024/06/05 23:52
一.(引用别人对两者的分类)
- 定义方面:进程是程序在某个数据集合上的一次运行活动;线程是进程中的一个执行路径。
- 角色方面:在支持线程机制的系统中,进程是系统资源分配的单位,线程是系统调度的最小单位。
- 资源共享方面:进程之间不能共享资源,而线程共享所在进程的地址空间和其它资源。同时线程还有自己的栈和栈指针,程序计数器等寄存器。
- 独立性方面:进程有自己独立的地址空间,而线程没有,线程必须依赖于进程而存在。
二.线程的两种实现方式
1.继承Thread类
2.实现Runable()接口
多线程在操作中也是有一个固定的操作状态的:
创建状态:准备好了一个多线程对象,Thread t = new Thread()
就绪状态:调用了start()方法,等待CPU进行调度。
运行状态:执行run()方法。
阻塞状态:暂时停止执行,可能将资源交给其他线程使用。
终止状态(死亡状态):线程执行完毕了,不再进行的使用了。
比较两种方式,就刚开始接触多线程写的ticket火车站卖票(假如10张)代码比较,继承Thread类的方法每个线程都卖掉10张,发现并不能使用相同代码处理同一资源,但是另一种实现Runable()方法就可以实现处理同一资源的需求。
所以说:
实现Runnable接口比继承Thread类有如下的明显优点:
适合多个相同程序代码的线程去处理同一个资源。
可以避免由于单继承局限所带来的影响。
增强了程序的健壮性,代码能够被多个线程共享,代码与数据是独立的。
综合以上来看,开发中使用Runnable接口是比较适合的。
阅读全文
0 0
- 进程和线程(基础)
- Android 基础总结:( 十七)线程和进程
- 操作系统学习基础-进程和线程
- oc基础总结二 线程和进程
- windows基础编程 - 进程和线程
- linux基础——进程和线程
- Python基础之九进程和线程
- 【Linux基础】进程和线程的区别
- java基础——进程和线程
- 学习进程和线程时的一点基础笔记(一)---------基础片
- 进程和线程(android)
- 进程和线程(一)
- 进程和线程(一)
- 进程和线程(二)
- 进程线程基础
- 进程,线程基础理解
- 进程线程基础
- Java多线程和内存模型(一):进程和线程基础
- 为什么新创企业都喜欢用ai域名?
- HDOJ 2066 一个人的旅行 (dijkstra 和 Floyd)
- 快来用iMindMap合理安排你的时间吧
- 大数据问题TOP
- 互联网+
- 进程和线程(基础)
- 海思3519 方案
- E
- 项目中遇到的模板方法总结。tmpl <%%>
- 6-spring源码3.2.18解读+spring技术内幕(关于BeanDefinition的载入和解析)
- spoj_cot2 Count on a tree II(树上莫队+离散化)
- Apache+MySQL+PHP整合配置
- js DOM 获取页面元素
- 蓝牙协议指令和字节数组的关系