文章目录
- synochnized修饰普通方法和静态方法的区别?什么是原子性、可见性、有序性?
- 这道题想考察什么 ?
- 考察的知识点
- 考生应该如何回答
- synchronized 的基本原理
- synchronized 修饰普通方法和静态方法的区别
- synchronized定义同步代码块
synochnized修饰普通方法和静态方法的区别?什么是原子性、可见性、有序性?
这道题想考察什么 ?
是否了解Java并发编程的相关知识
考察的知识点
1.sychronied
的原理
2.并发
的特性
考生应该如何回答
synchronized 的基本原理
synochnized
是Java中并发编程的重要关键字之一。
Java 中的 synchronized
关键字是解决多线程并发访问共享资源时的重要工具。
它不仅能够保证代码块的原子性
操作,还能确保可见性
和有序性,
这对于编写线程安全的程序至关重要。
-
原子性:原子性操作指的是一个操作不可分割,要么全部执行成功,要么全部不执行,不会被其他线程打断。 在 Java 中,
synchronized
关键字确保了代码块的原子性,即同一时间只有一个线程能够执行synchronized
修饰的代码块,其他线程必须等待执行完毕才能进入。 -
可见性:可见性是指当一个线程对共享变量进行修改时,其他线程能够立即看到这个修改。 在多线程环境下,线程之间的工作内存可能与主内存不一致,导致一个线程对共享变量的修改对其他线