摘要: 为什么 wait() 方法不定义在 Thread 中? **wait() 是让获得对象锁的线程实现等待,会自动释放当前线程占有的对象锁。**每个对象(Object)都拥有对象锁,既然要释放当前线程占有的对象锁并让其进入 WAITING 状态,自然是要操作对应的对象(Object)而非当前的线程(Th 阅读全文
posted @ 2023-03-02 20:50 JH_KingHau 阅读(69) 评论(0) 推荐(0) 编辑
摘要: JSR 133是Java语言规范的一个JSR(Java Specification Request),全称为Java Memory Model and Thread Specification Revision。它是Java 5中新增的一项规范,旨在修正Java内存模型(Java Memory Mo 阅读全文
posted @ 2023-03-02 19:05 JH_KingHau 阅读(41) 评论(0) 推荐(0) 编辑
摘要: **主存(也称为物理内存)**是指计算机中用于存储程序和数据的物理硬件,它是所有CPU核心共享的存储区域。主存中的数据可以被所有CPU核心访问和共享,是多个线程或进程之间进行通信和数据共享的主要方式。 **本地内存(也称为线程栈内存)**是指每个线程私有的内存空间,用于存储线程栈和线程本地变量。线程 阅读全文
posted @ 2023-03-02 16:11 JH_KingHau 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 共享变量的可见性 在多线程编程中,每个线程都有自己的工作内存,线程之间共享的变量通常存储在主内存中。当一个线程修改了共享变量的值时,这个修改操作并不一定会立即被其他线程看到,这就是共享变量的可见性问题。 共享变量的可见性问题是由于缓存和编译优化等原因导致的。缓存可以提高程序的性能,但是当多个线程操作 阅读全文
posted @ 2023-03-02 10:07 JH_KingHau 阅读(22) 评论(0) 推荐(0) 编辑