![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java面试--多线程
灬叛逆丿文
这个作者很懒,什么都没留下…
展开
-
并发编程必会之-Lock
并发编程必会之-Lock并发编程中,synchronized关键字是隐式的加锁和释放锁。JVM层面实现的Lock是显示的加锁和释放锁。代码层面实现的代码层面的实现大量使用了CAS,如果对CAS不了解的,可以看我的另一篇博客并发编程必会之-CAS下面是锁的最简单使用 Lock lock = new ReentrantLock(); try { ...原创 2019-12-04 12:00:59 · 273 阅读 · 0 评论 -
并发编程必会之-CAS
并发编程必会之-CAS前言多线程面试必问之synchronized在我的这篇文章里详细讲解了并发编程的鼻祖型大佬synchronized。synchronized是在jvm层面实现的加锁,保证的并发。CAS是在代码层面实现的逻辑加锁,保证的并发。为什么是逻辑加锁,因为它实际上是没有进行加锁操作的。我们把并发代码块比喻成一个房子,只能有一个线程进入到这个房子里面。synchronize...原创 2019-12-02 17:05:44 · 218 阅读 · 0 评论 -
多线程面试必问之synchronized
多线程面试必问之synchronizedsynchronized对于我们java程序员来说简直不要太熟悉,但是熟悉还不行,往往面试官还喜欢拿这个开撕,不准备点儿东西还真是不一定对付的了他。synchronized都用在哪儿?修饰静态方法 锁对象是类对象修饰普通方法 锁对象是当前实例对象修饰代码块 锁对象是括号里面的对象public class demo2 { //锁对象是de...原创 2019-11-29 11:10:54 · 195 阅读 · 0 评论 -
谈谈java中的volatile
谈谈java中的volatilevolatile是面试官常问的一个知识点,不过咱们把volatile全面了解一点儿,不管他怎么问,也能答出来,即使不是太完美,但是也避免了只知皮毛的尴尬!下面一步步的讲解一下。计算机内存模型是什么?主内存:数据存储的区域cpu:电脑的大脑,运行速度贼鸡儿快,快就快吧,而且发展还贼鸡儿快,什么I7,I9,8线程,16线程的,越来越快,这研发速度甩了内存,硬盘好...原创 2019-11-25 16:23:23 · 224 阅读 · 0 评论 -
三个线程交替打印 0-100
三个线程交替打印 0-20利用java里面的Condition来实现public class ThreadTest2 { static volatile int a = 0; public static void main(String[] args) { Lock lock = new ReentrantLock(); Condition co...原创 2019-11-21 17:01:37 · 604 阅读 · 2 评论 -
sleep和wait的区别
sleep和wait的区别我们先一个一个看,看完自然就知道他们之间的区别了sleepsleep是Thread类里面的native方法,作用是让当前执行的线程休眠指定的毫秒数。public static native void sleep(long millis) throws InterruptedException;当参数millis小于0时,抛出异常java.lang.Illeg...原创 2019-11-21 16:41:03 · 250 阅读 · 1 评论 -
三个线程T1,T2,T3。如何让T2在T1后执行,T3在T2后执行?
三个线程T1,T2,T3。如何让T2在T1后执行,T3在T2后执行?答:使用线程的join可以使线程之间进行互相等待package com.tk.riskanalysis;/** * @author wkw * @date 2019/10/23 10:06 */public class demo1 { public static void main(String[] ar...原创 2019-11-21 14:33:15 · 594 阅读 · 0 评论