线程,进程,线程同步,线程异步,相关概念学习——》总结
来源:互联网 发布:淘宝聚划算的报名条件 编辑:程序博客网 时间:2024/05/09 23:05
新年刚开工,有小伙伴准备面试,问我线程方面的东西,自己对于概念的东西也是很少去理解和总结,不觉中,做Android开发已经一年了。懂的却是十分浅的东西,既然已经过去的时光,就不必惋惜,开始写正文吧。
概念部分:(参考文章点击打开链接)
进程:狭义上讲:正在执行的程序,由线程组成,可包括多个线程运行。
广义上讲:进程是一个具有一定独立功能的程序有关某个数据集合的一次运行活动。可以申请拥有系统资源,是一个动态的概念。
特点:进程是实体,具有地址空间。
线程:为进程中执行的某个程序的片段。
组成:一个线程由线程ID,当前指令针,寄存器,堆栈组成。是进程的实体,是被系统独立分派调试的基本单元。
状态:拥有5种状态,新建,就绪,运行,阻塞,死亡等5种状态。
阻塞状态分3种,等待阻塞,同步阻塞,其他阻塞。
等待阻塞:运行线程执行wait()方法,本线程进行等待状态。
同步阻塞:线程在获取synchronized同步锁失败(锁被其他线程占用),进入同步阻塞状态。
其他阻塞:通过调用线程的sleep()或join()或发出了I/O请求时,线程会进入到阻塞状态。当sleep()状态超时、join()等待线程终止或者 超时、或者I/O处理完毕时,线程重新转入就绪状态。
启动方式:3种。1.继承Thread. 2.实现Runnable接口. 3直接在函数体使用.
代码详解:点击打开链接
多线程:在程序中同时运行多个线程完成工作。
线程池:存在原因:在Java中,new 一个新的对象,比较耗费内存资源。因此,就有了线程池的存在。
应用情况:需要大量线程完成工作,并且每个工作的时间较短。
线程同步:发送一个请求,等待结果返回,再发送另外一个请求。
synchronized :用于给对象,方法,代码加锁,被锁定大代码块部分,同一时间只能被一个线程执行这段代码。
优点:避免死锁,读脏数据发生,保证秩序性。
一般共享某一资源的时候用,如果每个人都有修改权限,同时修改一个文件,有可能使一个人读取另一个人已经删除的内容,就会出错,同步就会按顺序来修改
。
异步:发送一个请求,不需要等待结果,随时可以发送下一个请求。
优点:异步可以提高效率,可同时做多项工作,但必须保证是并发处理。
并发:并发运行就是让计算机同时运行几个程序,同一个程序多个进程或线程。
- 线程,进程,线程同步,线程异步,相关概念学习——》总结
- 线程同步异步概念
- 线程进程/同步异步
- 进程线程同步相关
- 进程与线程的相关概念——同步、通信等
- 进程、线程相关的概念
- Windows进程线程相关概念
- 进程,线程,线程同步
- Java 线程同步异步学习
- Java线程同步管理的相关概念总结
- 进程、线程、多线程相关总结
- iOS进程、线程相关总结
- 进程、线程、多线程相关总结
- 进程、线程、多线程相关总结
- 进程、线程、多线程相关总结
- JAVA学习笔记49——线程概念+进程、线程区别+创建进程三种方法
- 进程 线程 多线程 并发 同步异步
- 线程、进程、同步、异步、阻塞、非阻塞
- Android ToolBar 的容易封装
- 在线程中使用session操作数据库
- 【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程
- Hibernate的访问类型
- 系统提示 点击其他关闭 alert iOS之UIAlertView点击窗口之外区域关闭
- 线程,进程,线程同步,线程异步,相关概念学习——》总结
- 修改linux系统时间
- 基于平台搜索功能,寻找搜索引擎解决方案
- ZOJ-3708-Density of Power Network
- 原生 HorizontalScrollView 和自定义 HorizontalScrollView 案例
- 第三章 上机 员工打卡
- Tomcat 8(八)Tomcat解析server.xml的工具—Digester
- lintcode | 将整数A转换为B, Flip Bits
- 困扰了我一个下午的Invalid bound statement (not found)