JAVA基本的同步机制
来源:互联网 发布:淘宝怎样请人代付 编辑:程序博客网 时间:2024/05/16 08:22
JAVA的同步机制——线程同步辅助类
这一小节主要介绍JAVA中有哪些同步机制,下面几个小节会分别介绍这些同步机制的用途,希望可以让大家对JAVA的同步机制有一定了解。好了,我们开始吧!
(1)synchronized关键字,这个相信大家很了解,最好能理解其中的原理,这里不多少,以后会专门分享一篇关于synchronized关键字的文章;
(2)Lock接口及其实现类,如ReentrantLock.ReadLock和ReentrantReadWriteLock.WriteLock。
以上两种都是最基本的,也是大家在实际项目中最常用的,一般用lock的比较多,能提高效率,典型的对比如Hashtable和CurrentHashMap的性能对比;
那还有那些更高级的同步机制:
(3)信号量(Semaphore):是一种计数器,用来保护一个或者多个共享资源的访问,它是并发编程的一种基础工具,大多数编程语言都提供这个机制,这也是操作系统中经常提到的。
(4)CountDownLatch:是Java语言提供的同步辅助类,在完成一组正在其他线程中执行的操作之前,他允许线程一直等待,这个类的使用已经在我的博客中了,大家可以去看看,自己去体验一下,平时编程不常用,但是实际中可能很有用,还是要多了解一下的;
(5)CyclicBarrier:也是java语言提供的同步辅助类,他允许多个线程在某一个集合点处进行相互等待;这个感觉慢有意思的,我的博客中已经有了,大家可以去看看
(6)Phaser:也是java语言提供的同步辅助类,他把并发任务分成多个阶段运行,在开始下一阶段之前,当前阶段中所有的线程都必须执行完成,JAVA7才有的特性。
(7)Exchanger:他提供了两个线程之间的数据交换点。
总结一下吧,这些同步机制很多,但是所有的同步机制都是基于信号量Semaphore来实现的。在应用程序中,任何时候都可以使用信号量来保护临界区,这是一个很基础的同步机制。
- JAVA基本的同步机制
- java的同步机制
- Java的同步机制
- Java同步机制的应用
- java的同步机制synchronize
- Java多线程的同步机制
- Java多线程的同步机制
- java的同步机制synchronized
- java多线程的同步机制
- Java线程的基本机制
- Day19—线程的基本操作、线程的同步机制
- Java的synchronized关键字:同步机制总结
- Java的synchronized关键字:同步机制总结
- Java的synchronized关键字:同步机制总结
- Java的synchronized关键字:同步机制总结
- Java的synchronized关键字:同步机制总结
- Java的synchronized关键字:同步机制总结
- Java的synchronized关键字:同步机制总结
- SDUT 3344 数据结构实验之二叉树五:层序遍历
- sikuli基本函数介绍
- 视频项目笔记(5)
- UVa 12563(一种错误做法和一种正确做法)
- 利用LruCache将图片存进内存
- JAVA基本的同步机制
- EA&UML日拱一卒-状态图::重画按钮状态图
- EditPlus快捷键
- sdut 3345 哈夫曼编码 &&优先队列
- 协程
- 图片转换成HDF5文件(加载、保存)
- 比较数的大小
- Lua基础之元表(Metatable)
- Struts-json小知识