摘要:
特性: 可见性:多线程下,一个线程对变量的修改,能立即被其他线程看到. 禁止指令重排序:编译器和CPU在变量前后的指令不能被乱序执行,本质是JMM会加入内存屏障保证,顺序不会乱序。 volatile在Java里面的运算操作符并非原子操作,这导致volatile变量的运算在并发下一样是不安全的. 案例 阅读全文
posted @ 2025-07-04 14:23
Charlie-Pang
阅读(7)
评论(0)
推荐(0)
摘要:
在《Java 并发编程实战》的3.13章节是这样描述的:内置锁可以用于确保某个线程以一种可预测的方式来查看另一个线程的执行结果。意思是:当两个线程之间通过“内置锁”(即 synchronized)进行同步时,线程 B 可以看到线程 A 之前对共享变量的修改结果,而且这些修改是按照预期的顺序可见的。 阅读全文
posted @ 2025-07-04 10:49
Charlie-Pang
阅读(13)
评论(0)
推荐(0)
摘要:
Thread.yield()是Java中的一个静态方法,作用是:当前线程主动让出CPU的执行权, 把执行机会交给同等优先级的其他线程(并不一定真的会让出执行权,取决于操作系统调度器实现,有可能会重新得到CPU的执行权)。 调用后,当前线程就从运行状态变为就绪状态,等待线程调度器重新调度,但是不会阻塞 阅读全文
posted @ 2025-07-04 09:55
Charlie-Pang
阅读(10)
评论(0)
推荐(0)

浙公网安备 33010602011771号