一. 安全性问题 线程安全的本质是正确性,而正确性的含义是程序按照预期执行 理论上线程安全的程序,应该要避免出现可见性问题(CPU缓存)、原子性问题(线程切换)和有序性问题(编译优化) 需要分析是否存在线程安全问题的场景:存在共享数据且数据会发生变化,即有多个线程会同时读写同一个数据 针对该理论的解 ...
分类:
编程语言 时间:
2019-07-05 22:47:19
阅读次数:
239
未完待续 ........ 由于SimpleDateFormat存在线程安全问题,所以在JDK1.8中使用LocalDate和LocalDateTime来进行日期的工具类使用,下边就是原创的LocalDateUtil封装 1、localDate格式化年月日为字符串 2、localDateTime格式 ...
分类:
其他好文 时间:
2019-07-04 00:21:03
阅读次数:
89
上一篇学习了多线程的一些基础知识:多线程的基本概念,及创建和操作多线程。内容相对简单,但多线程的知识肯定不会这么简单,否则我们也不需要花这么多心思去学习,因为多线程中容易出现线程安全问题。 那么什么是线程安全呢,定义如下: 当多个线程访问同一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替运 ...
分类:
编程语言 时间:
2019-07-01 00:32:34
阅读次数:
95
一、单例模式 (1)、枚举类实现单例; (2)、饿汉式单例; (3)、懒汉式;用的时候创建; (4)、懒汉式:可能出现线程安全问题,线程安全的懒汉式 ...
分类:
其他好文 时间:
2019-06-26 00:57:26
阅读次数:
110
在单节点上运行的程序,多个线程对一个共享变量进行操作,则有可能出现线程安全的问题。例如:春运期间购买火车票 最后运行的结果显示和实际情况有出入的,之所以出现不是连续的减少车票,是因为多个线程是并行执行的,从结果看出了多个线程操作共享数据,会出现线程安全问题,所以我们为了确保这种问题不会出现,可以使用 ...
分类:
其他好文 时间:
2019-06-11 19:29:08
阅读次数:
112
这里的代码是为了引入一个问题:线程安全 运行结果如下: 本机器参考线程数:4total times10000000线程调用的counter2:9964868 为什么会少呢?是因为线程操作相同的变量++的时候i,++的过程中,无法操作,也就会漏掉本次操作,造成所谓“线程安全问题” ...
分类:
编程语言 时间:
2019-06-07 22:54:49
阅读次数:
106
单例设计模式 饿汉式 在类初始化的时候直接创建对象 不存在线程安全问题 1、直接实例化饿汉式(简洁直观) 2、静态代码块饿汉式(适合复杂实例化) 3、枚举式(最简洁) 1、直接实例化饿汉式(简洁直观) 2、静态代码块饿汉式(适合复杂实例化) 3、枚举式(最简洁) 1 1 public class S ...
分类:
编程语言 时间:
2019-06-06 20:47:16
阅读次数:
126
复习1.JoinableQueue--可以被join的队列2.多线程3线程的使用方法与进程一模一样3.1守护线程3.2线程安全问题3.3解决方案3.3.1互斥锁mutex3.3.2递归锁Rlock3.3.3信号量semaphore3.3.4死锁问题详解:1.JoinableQueue--可以被joi ...
分类:
编程语言 时间:
2019-06-05 23:55:00
阅读次数:
256
复习1.守护进程2.互斥锁(解决数据错乱的方法)3.IPC(进程间通讯)4.生产者与消费者模型详解:1.守护进程 一个进程可以设为另一个进程的守护进程 特点:被守护的进程结束时,守护进程也会随之结束 本质:父进程交给子进程一个任务,然而父进程 先于子进程结束了,子进程的任务也就没有必要 继续执行了 ...
分类:
编程语言 时间:
2019-06-04 16:14:37
阅读次数:
157
问:一个Spring Bean类中有一个服务地址信息的成员变量,这个bean类中成员函数会根据服务地址调用其接口,同时这个服务地址信息可能会在运行时被用户修改,这种情况下是否存在线程安全问题? 答:如果用的Spring默认的单例Bean,因为涉及到多线程对成员变量的读写,会存在线程安全问题。 问:那 ...
分类:
其他好文 时间:
2019-06-03 23:59:20
阅读次数:
267