java多线程12设计模式
1、Single Threaded Execution Pattern(单线程运行模式)
2、Immutable Pattern(一成不变的模式)
3、Guarded Suspension Pattern(国防暂停模式)
4、Balking Pattern(止步模式,阻行模式)
5、Producer-Consumer Pattern(生产者-消费者模式)
6、Read-Write Lock Pattern(读-写锁模式)
7、Thread-Per-Message Pattern(每一个消息一个线程模式)
8、Worker Thread Pattern(工人线程模式),也称Background Thread(背景线程)
9、Future Pattern
10、Two-Phase Termination Pattern(两相模式的终止)
11、Thread-Specific Storage Pattern(线程的唯一模式库,为每个线程提供存储空间)
12、Active Object Pattern(主动对象模式。它是对各种模式的组合。使用5、7、9等待
这些都是java多线程编程常用的设计模式。
java多线程12设计模式的更多相关文章
- java 多线程12 : 无锁 实现CAS原子性操作----原子类
由于java 多线程11:volatile关键字该文讲道可以使用不带锁的情况也就是无锁使变量变成可见,这里就理解下如何在无锁的情况对线程变量进行CAS原子性及可见性操作 我们知道,在并发的环境下,要实 ...
- Java多线程_Master-Worker设计模式
Master-Worker模式是常用的并行模式之一,它的核心思想是:系统由Master进程和Worker进程两类进程协同工作,Master负责接收和分配任务,Wroker负责处理子任务.当各个Work ...
- Java多线程_Future设计模式
Future模式的核心:去除了主函数的等待时间,并使得原本需要等待的时间段可以用于处理其他业务逻辑. Future模式有点类似于商品订单.在网上购物时,提交订单后,在收货的这段时间里无需一直在家 ...
- Java多线程12:ReentrantLock中的方法
公平锁与非公平锁 ReentrantLock有一个很大的特点,就是可以指定锁是公平锁还是非公平锁,公平锁表示线程获取锁的顺序是按照线程排队的顺序来分配的,而非公平锁就是一种获取锁的抢占机制,是随机获得 ...
- 【Todo】【读书笔记】Java多线程编程指南-设计模式篇
下了这本书<Java多线程编程指南-设计模式篇>, 还有另一本<JAVA多线程设计模式>,据说内容有重复,结合着看.
- java多线程设计模式
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt220 java多线程设计模式 java语言已经内置了多线程支持,所有实现Ru ...
- [温故]图解java多线程设计模式(一)
去年看完的<图解java多线程设计模式>,可惜当时没做笔记,导致后来忘了许多东西,打算再温习下这本书,顺便在这里记录一下~ 1.顺序执行.并行.并发 顺序执行:多个操作按照顺序依次执行. ...
- Java多线程设计模式(一)
目录(?)[-] Java多线程基础 Thread类的run方法和start方法 线程的启动 线程的暂时停在 线程的共享互斥 线程的协调 Single Threaded Execution Patte ...
- JAVA并发设计模式学习笔记(一)—— JAVA多线程编程
这个专题主要讨论并发编程的问题,所有的讨论都是基于JAVA语言的(因其独特的内存模型以及原生对多线程的支持能力),不过本文传达的是一种分析的思路,任何有经验的朋友都能很轻松地将其扩展到任何一门语言. ...
随机推荐
- 黑马day16 jquery&层次选择器
假设想通过DOM元素之间的层次关系来获取特定元素,比如后代元素,子元素,相邻元素,兄弟元素等,则须要使用层次选择器. 1 .ancestor descendant 使用方法: $("form ...
- cocos2d-x2.0 win7第一次创建项目需要调用到的脚本(不断更新维护)//cocos2d-x 教程一
第一步: 最新的cocos2d-x.下载地址https://github.com/cocos2d/cocos2d-x github上最新的引擎,值得注意的是官网上发布的引擎是稳定版.选择哪种就看个人喜 ...
- 11181 - Probability|Given
N friends go to the local super market together. The probability of their buying something from them ...
- [VBS]_[活动分组程序]
场景: 1.每次搞活动都需要分组,比如20个人分3个组,如何才能更公平的分组,想到的只能是随机分组程序. 2.时间关系并没有实现男女平衡的分组,有时间的哥们可以自己实现. 文件1:分组程序.vbs,记 ...
- Troubleshooting(updating...)
记录了工作和学习中一些杂碎的问题. 问题:RDP一直处于连接状态,除非重启 描述:表面看上去是应该在一定时间还连接不上,就让它断开.深层问题是,初次连接一个新的IP地址,Win7以上的系统,会有个CA ...
- 基于visual Studio2013解决C语言竞赛题之1021九九乘法表
题目 解决代码及点评 /* 功能:请编程序按如下格式打印一个直角三角形的九九乘法表: 1 2 3 4 5 6 7 8 9 4 6 8 10 12 14 16 18 9 1 ...
- Linux下可执行程序调试信息的分离及release程序的调试
前两天在群里看到在讨论如何把debug版中的符号表加到release版本中,觉得这个非常有用,所以学习一下. 使用的工具是objcopy. 如果要生成单独的调试信息文件,命令如下: objcopy ...
- Android开发之大位图二次採样压缩处理(源码分享)
图片有各种形状和大小.在很多情况下这些图片是远远大于我们的用户界面(UI)且占领着极大的内存空间,假设我们不正确位图进行压缩处理,我们的程序会发生内存泄露的错误. MainActivity的代码 pa ...
- Swift - 产生不重复数字的随机数生成器
在Swift中,可以使用函数类型的参数,也可以使用函数类型的返回值.而作为返回值的函数,还能“捕获”外部的值,并多次使用它.这个特性,常可用来创建各种生成器. 下面通过创建一个“随机数生成器函数”作为 ...
- Swift - AppDelegate.swift类中默认方法的介绍
项目创建后,AppDelegate类中默认带有如下几个方法,具体功能如下: 1,应用程序第一次运行时执行 这个方法只有在App第一次运行的时候被执行过一次,每次App从后台激活时都不会再执行该方法. ...