最新 最热

你所理解的Synchronized关键字对吗

关于java中的Synchronized关键字是不是自旋锁?首先从OS级别来说它肯定不是,因为它用的是互斥锁,这个可以看openjdk源码可以发现它用的是mutex互斥量来实现的。然后站在用户级别虽然...

2020-10-26
1

sleep和wait的区别

sleep和wait的区别sleep是Thread类的方法,wait是Object类中定义的方法sleep()方法可以在任何地方使用wait()方法只能在sychronized方法或者synchronized块中使用最本质的区别Thread.sleep只会让出CPU,不会导致锁行为的...

2020-10-26
1

单例模式—四种写法详解

巧妙利用了编程语言的一些语法规则:构造函数private, 然后提供一个public的方法返回类的一个实例;又方法和返回的类的实例都是static类型,所以只能被类所拥有,而不能被实例化类的对象拥有。这样一个类就只能有一个实例了...

2020-10-09
0

Synchronized内置锁

多个线程之间共享资源就会发成数据上的冲突,我们往往会使用Synchronized关键字来实现锁

2020-09-30
0

只用过synchronized却不知ReentrantLock

在说ReentrantLock之前,必须先说一说锁。锁是为了线程安全而诞生的,我们常用的锁就是synchronized,通过下面程序看一下什么叫锁,锁有什么用。下面我们模拟一下数据库主键自增,假如我们现在有10个线程,每个线程对count进行自...

2020-09-30
0

简述 synchronized 和 java.util.concurrent.locks.Lock 的异同 ?

主要不同点:Lock 有比 synchronized 更精确的线程语义和更好的性能。

2020-09-27
0

线程同步

线程是独立并行的,许多的线程就像许多的人一样,如果对某样东西进行使用的时候不进行排队,都争抢使用的话就自然容易会导致破坏这样东西。

2020-09-23
0

一道多线程协同面试题的三种解决方案

这个题目实际上是在考察线程间协调。鉴于前面学习的线程间通信的三种方法,现在用三种方法来完成该问题。

2020-09-16
0

多线程基础(七):关于HotSpot中notify方法不具备随机性的证明

在前面关于wait/notify及notifyAll方法的时候,notify在源码的注释中说到notify选择唤醒的线程是任意的,但是依赖于具体实现的jvm。原文如下:

2020-09-10
0

多线程基础(六):Object的wait方法以及notify与notifyAll的区别

还记得前面用ArrayList实现阻塞队列的文章:《 什么?面试官让我用ArrayList实现一个阻塞队列?》。我们通过synchronized并配合wait和notify实现了一个阻塞队列。在介绍完前文的synchronized关键字的基本使用之后,本文来对...

2020-09-10
1