- 17
- 0
- 约5.59千字
- 约 22页
- 2016-11-23 发布于湖北
- 举报
java多线程概要
“ ” JAVA 多线程 多线程的必要性 一个CPU同一时间只能运行一个进程。进程相互独立,数据不共享。 单线程模式 效率低下,未充分合理的利用CPU 多线程模式 共享内存,可以实现多任务 共享数据\资源的带来的事务性问题(ACID) 原子性:整个事务中的所有操作,要么全部完成,要么全部不完成。 一致性:任何一个读取总是能读取到之前完成的写操作。 隔离性:为了防止事务操作间的混淆,必须串行化或序列化请求,使得在同一时间仅有一个请求 用于同一数据。 持久性:在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被 回滚。 线程安全 如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 线程安全问题都是由全局变量及静态变量引起的。 多线程编程面临的挑战 Single thread execution pattern (syschronized)。 针对方法或程序块添加同步锁 Immutable (final类) 例如java中所有基础数据类,例如String,Integer。主要针对解决线程安全问题。 final + static + 不可变类 Balking pattern 放弃模式 判断资源状态,如果状态不满足,则放弃操作 Read-write lock pattern (读写锁) 多线程模式介绍 (与资源相关) future 异步执行任务,在任务执行结束后,能够取得任务处理结果 Thread-per-message pattern 发起异步任务,但不需要得到处理结果 多线程模式介绍 (与异步任务相关) Producer Consumer pattern(生产者消费者模式) 生产者,将产生的产品放到池中。消费者从池中取得产品进行消费 例如仓库存放及提取 Worker thread pattern (工作者模式) 等到工作来,来了就工作 将任务的产生和处理进行分离。例如IM中针对消息的处理机制。 多线程模式介绍 (与资源池相关) Guarded?Suspension?Pattern 条件警戒模式 多个线程共享一个实例 若多个线程都擅自更改实例的状态,实例会丧失安全性。 当实例的状态不恰当时,就要求线程等待到适合的状态。首先,以“警戒条件”来表示实例的“适当的状态”。并且在进行有安全性疑惑的操作前,都要检查是否警戒条件满足。如果警戒条件不成立,就要求线程等待到成立为止。 当警戒条件不成立时想要马上退出,就使用Balking?Pattern。 多线程模式介绍 (与条件警戒相关) Two-Phase?Termination 两阶段终止 从外部忽然结束掉线程,会丧失安全性。 定义一个送出“终止请求”的方法用来结束线程。这个方法事实上只会将标识设置成“收到终止请求”而已,线程要在每个可以开始终止处理的地方检查这个标识,如果检查结果为真,就开始进行终止处理。 Thread-Specific?Storage?Pattern?-线程保管箱模式 想要将假定在单线程环境下运行的对象(TSObject),在多线程的环境下使用。 建立线程独有的空间,并管理这些空间与线程的对照关系 建立一个与TSObject具有相同接口的TSObjectProxy参与者。并建立 TSObjectCollention,管理“Client--TSObject”的对照关系。 实现:Java语言中,使用java.lang.ThreadLocal类担任TSObjectCollention。 多线程模式介绍 (线程管理相关) static static 是存储在常量存储区中,一个jvm只有一份 final static 不可变对象 volatile volatile告知jvm,它所修饰的变量不保留拷贝,直接访问内存堆。 在java内存模型中,有main memory,每个线程也有自己的memeory,(例如寄存器)。出于性能考虑线程会在自己的memory中访问变量副本。 但不是简单使用volatile,则对这个变量的操作都是原子操作。当变量值由自己决定时,volatile失效。(n=n+m)。当此情况出现时,可用syschronized进行修饰。 原子操作:是指不会被线程调度机制打断的操作,这种操作一旦可是,就一致运行到结束,中间不会有任何contex switch(切换到另外一个线程) Java 多线程相关内容(单一JVM中) Synchronized 多线程同步依赖锁机制,通过对共享资源锁的获取和释放,协同各线程的工作。 对于java程序来说,每个对象实例都有一把“锁”。获取锁的方法就是syn
您可能关注的文档
- IGBT的芯片结构及失效模式概要.ppt
- IPCamera-Manual-CN概要.doc
- ICU镇痛镇静概要.ppt
- IPG激光切割头概要.ppt
- IRB120:紧凑型控制股:含负载衰减图概要.doc
- ISO22716概要.ppt
- Isthisyourskirt教学设计概要.doc
- ISO14001环境管理体系培训2015.10.26概要.ppt
- IT系统数据架构规范_数据分类和分布规范概要.doc
- ISO14001环境意识培训概要.ppt
- 2026年及未来5年SMT贴片机项目市场数据调查、监测研究报告.docx
- 2026年及未来5年双螺杆聚合反应造粒机组项目市场数据调查、监测研究报告.docx
- 2026年及未来5年2,6-二甲基苯酚项目市场数据调查、监测研究报告.docx
- 2025年中国移动校园招聘考试(行政能力测试)历年参考题库含答案详解.docx
- 2026年贵州省人民警察公务员考试(公安专业知识)历年参考题库含答案详解.docx
- 2026年及未来5年牛油芝士旋旋圈项目市场数据调查、监测研究报告.docx
- 2026年及未来5年钛合金齿轮项目市场数据调查、监测研究报告.docx
- 2026年及未来5年带泳池四彩儿童篷项目市场数据调查、监测研究报告.docx
- 2026年及未来5年强力文氏通风机项目市场数据调查、监测研究报告.docx
- 2026年及未来5年敷四特喷剂项目市场数据调查、监测研究报告.docx
最近下载
- 网约车辆火灾防控应急预案.docx VIP
- 工程施工旁站监理措施(3).docx VIP
- 2025年河北省人体解剖学(专升本)考试真题及参考答案.docx VIP
- 人民大2024产业经济学(第六版)课件第11章 产业结构政策.pptx VIP
- 河道冬雨季施工方案.docx VIP
- 电动垂直起降(eVTOL)2025年适航认证案例分析:安全性与可靠性评估.docx
- 2026部编版小学数学二年级上册期末考试卷(3套含答案解析).docx
- 公司消防安全第一责任人职责模板范本.docx VIP
- 为自己点赞主题班会课件.pptx VIP
- 精品解析:2024年山东省淄博市张店区中考一模数学模拟试题(原卷版).docx VIP
原创力文档

文档评论(0)