Java并发编程
文章平均质量分 97
echola_mendes
让所有的技术简单化……
展开
-
Java并发—synchronized关键字的应用
synchronized 关键字是 Java 中用来确保线程安全的基本机制,特别是在需要保证多个变量之间的一致性时。通过使用 synchronized,可以锁定一个对象,从而确保同一时刻只有一个线程可以访问该对象可以将 synchronized 用于方法级别和代码块级别,要注意锁定的对象应该是一个合适的对象,不能是一个常量,使用 synchronized 可以简化并发控制逻辑,但需要注意其性能开销和潜在的死锁风险。原创 2024-08-05 16:28:54 · 921 阅读 · 0 评论 -
Java并发—CAS的原理及应用场景
CAS通过比较并交换的方式来更新共享变量,避免了使用传统锁机制带来的性能开销,但在高并发场景下可能会遇到自旋消耗CPU资源和ABA问题等。原创 2024-08-02 16:13:37 · 1142 阅读 · 0 评论 -
Java并发—volatile关键字的作用及使用场景
volatile在这篇文章多次提及volatile,这是一个非常重要的概念,主要用于多线程编程中,它确保了变量的可见性和禁止指令重排序,但不保证原子性,下面详细解释。原创 2024-08-01 18:33:38 · 989 阅读 · 0 评论 -
Java并发—Java内存模型以及线程安全
线程安全:在多线程环境下,多个线程可以安全地访问和操作共享数据,而不会引发数据不一致或程序错误的问题JMM 解决并发程序中最关键的两个问题:线程间的可见性和指令重排序。线程间的可见性:确保当一个线程修改了共享变量的值时,其他线程可以立即看到这一改变。没有良好的可见性保证,一个线程对共享变量的修改可能对其他线程不可见,导致数据不一致。指令重排序:为了提高性能,编译器和处理器常常会改变指令的执行顺序(只要这种改变不影响单线程内的程序逻辑)。然而,在多线程环境下,这种重排序可能导致严重问题。原创 2024-07-31 18:17:49 · 915 阅读 · 0 评论