java语言考点之synchronized和volatile

08月30日 收藏 0 评论 1 java开发

java语言考点之synchronized和volatile

考点介绍:

 synchronized和volatile两个关键字也是校招常考点之一。volatile可以禁止进行指令重排。synchronized可作用于一段代码或方法,既可以保证可见性,又能够保证原子性 ...... 

一、考点题目

1、  Lock与synchronized的区别  
解答:ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候。线程A和B ......

2、 说一下volatile这个关键字的作用?  
解答:MM 为 volatile 定义了一些特殊访问规则,当变量被定义为 volatile 后具备两种特性:保证变量对所有线程可见,当一条线程......

3、  synchronized这个关键字有什么作用?     
解答:每个 Java 对象都有一个关联的 monitor,使用 synchronized 时 JVM 会根据使用环境找到对象的 monitor,根据 monitor 的状态进行加解锁的判断。如果成功加锁就成为该 monito    ......

4、  synchronized 和 ReentrantLock 区别是什么?   
解答:synchronized是和if、else、for、while一样的关键字,ReentrantLock是类,这是二者的本质区别。既然ReentrantLock......


二、考点文章

1、 JAVA多线程之volatile 与 synchronized 的比较  
要想理解volatile关键字,得先了解下JAVA的内存模型,Java内存模型的抽象示意   ......

2、  volatile 与 synchronized 区别     
在Java中,为了保证多线程读写数据时保证数据的一致性,可以采用两种方式:同步: 如用synchronized关键字,或者使用锁......

3、synchronized和ReentrantLock的区别
我们这篇文章来了解一下synchronized和ReentrantLock两个同步锁的区别......


三、考点视频

多线程中sleep()和wait()方法的区别……

1 所属类不同 :sleep是线程类Thread的静态方法,wait是object类的普通方法。2 线程持有锁:   sleep线程暂停执行指定时间,把执行机会给其他线程,但是监控依然在,不释放线程锁。wait导致本线程放弃对象锁,进入等待此对象的等待锁定......


移动端链接:https://m.xiaozhao.vip/dTopic/detail/1139

PC端链接:https://xiaozhao.vip/dTopic/detail/1139

C 1条回复 评论
耿蕊

只会写初级sql的我看不大懂

发表于 2023-11-01 22:00:00
0 0