随笔分类 -  多线程与高并发

记录成长的点滴
摘要:线程不安全类与写法 【线程不安全】:如果一个类类对象同时可以被多个线程访问,如果没有做同步或者特殊处理就会出现异常或者逻辑处理错误。【1. 字符串拼接】:StringBuilder(线程不安全)、StringBuffer(线程安全)【2. 日期转换】: SimpleDateFormat(线程不安全, 阅读全文
posted @ 2021-10-27 11:18 鹏了个鹏鹏 阅读(58) 评论(0) 推荐(0)
摘要:避免并发两种方式 不可变对象 线程封闭 线程封闭: 把对象封装到一个线程里,只有这一个线程可以看到这个对象,即使这个对象不是线程安全也不会出现任何线程安全问题,因为只在一个线程里 堆栈封闭:局部变量,无并发问题。栈封闭是我们编程当中遇到的最多的线程封闭。什么是栈封闭呢?简单的说就是局部变量。多个线程 阅读全文
posted @ 2021-10-27 11:17 鹏了个鹏鹏 阅读(20) 评论(0) 推荐(0)
摘要:安全发布对象 在静态初始化函数中初始化一个对象将对象的引用保存到volatile类型域或者AtomicReference对象中将对象的引用保存到某个正确构造对象的final类型域中将对象的引用保存到一个由锁保护的域中 /** * 懒汉模式 * 双重同步锁单例模式 * @author Guo * */ 阅读全文
posted @ 2021-10-27 11:14 鹏了个鹏鹏 阅读(27) 评论(0) 推荐(0)
摘要:发布对象 发布对象:使一个对象能够被当前范围之外的代码所用。对象溢出:一种错误的发布。当一个对象还没有构造完成时,就使它被其他线程所见。 阅读全文
posted @ 2021-10-27 11:13 鹏了个鹏鹏 阅读(23) 评论(0) 推荐(0)
摘要:一、线程安全性 定义:当多个线程访问某个类时,不管运行时环境采用何种调度方式,或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。 1. 原子性:提供了互斥访问,同一时刻只能有一个线程来对它进行访问。 Atomic包: At 阅读全文
posted @ 2021-10-27 11:12 鹏了个鹏鹏 阅读(47) 评论(0) 推荐(0)