![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
光明顶上的5G
作者5G,目前专注于Java后端技术的学习
展开
-
并发编程_02 线程安全性
当多个线程访问某个状态变量并且其中有一个线程执行写入操作时,必须采用同步机制来协同这些线程对变量的访问。Java中的主要同步机制是关键字synchronized,它提供了一种独占的加锁方式,但同步这个属于还包括volatile类型的变量,显式锁以及原子变量。 2.1 什么是线程安全性 当多个线程访问某个类时,这个类始终都能表现出正确的行为,那么就称这个类是线程安全的。 线程安全性的使用并非...原创 2019-06-14 19:37:06 · 130 阅读 · 0 评论 -
并发编程_03 对象的共享
3.1 可见性 当一个线程修改了对象状态后,其他线程能够看到状态的变化。 为了确保多个线程之间对写入操作的内存可见性,必须使用同步机制。 public class NoVisibility{ private static boolean ready; private static int number; private static class ReaderThr...原创 2019-06-15 16:29:43 · 151 阅读 · 0 评论 -
并发编程_01 简介
线程带来的风险: 安全性问题: 活跃性问题:安全性的含义是“永远不发生糟糕的事情”,而活跃性则关注于另一个目标,即“某件正确的事情最终会发生”。当某个操作无法继续执行下去时就会发生活跃性问题。在串行程序中,活跃性问题的形式之一就是无意中造成的无限循环。 性能问题:与活跃性问题密切相关的是性能问题。活跃性意味着某件正确的事情最终会发生,但却不够好,因为我们通常希望正确的事情尽快发生。性能问题包...原创 2019-06-10 20:56:06 · 85 阅读 · 0 评论