Java多线程学习
Galaxy_K
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java多线程学习之wait()、notify()/notifyall()方法
1、wait()、notify/notifyAll() 方法是Object类的本地final方法,无法被重写。2、wait()方法:(1)作用:wait()使当前执行代码的线程进行等待,即使当前线程进入阻塞队列。(2)使用条件:前提是 必须先获得锁,一般配合synchronized 关键字使用,即,一般在synchronized 修饰同步代码块或同步方法里使用 wait()、notify/n...原创 2019-01-26 16:14:14 · 462 阅读 · 0 评论 -
Java不可重入锁和可重入锁理解
原博地址基础知识Java多线程的wait()方法和notify()方法这两个方法是成对出现和使用的,要执行这两个方法,有一个前提就是,当前线程必须获其对象的monitor(俗称“锁”),否则会抛出IllegalMonitorStateException异常,所以这两个方法必须在同步块代码里面调用。wait():阻塞当前线程notify():唤起被wait()阻塞的线程不...转载 2019-05-08 22:10:23 · 184 阅读 · 0 评论 -
Java读写锁的基本使用
JDK1.5以后,提供读写锁。这种锁支持多线程读操作不互斥,多线程读与写互斥,多线程写与写互斥,但读与读操作并不互斥。这样有助于性能的提高。我们对数据的操作无非两种:“读”和“写”,试想一个这样的情景,当十个线程同时读取某个数据时,这个操作应不应该加同步。所以我们使用ReentrantReadWriteLockt它是一个解决单线程写和多线程读的理想方法。它采用类似于读写分离的思路设定了读锁和写锁...原创 2019-07-26 23:36:20 · 731 阅读 · 0 评论 -
基于BlockingQueue的生产者-消费者模型
不管是在学习操作系统知识还是Java多线程知识的时候,都会遇到生产者-消费者模型。我们必须熟练地写出一个简单的模型。之前的使用的大多数都是synchronized锁同步代码块或修饰方法或是使用ReetrantLock来完成,这里介绍使用java.util.concurrent包提供的BlockingQueue来实现。import java.util.concurrent.ArrayBlockin...原创 2019-07-27 15:55:52 · 391 阅读 · 0 评论
分享