简介 自从JAVA 创建以来,java 就支持类似锁与线程的并发操作。本篇内容主要帮助JAVA 开发者理解和应用JAVA 的核心并发概念 以及如何应用。 概念 概念介绍 原子性 一个原子操作就是要么全部成功,要么全部失败 可见性 可见性是指 一个线程是否可以看到另一个线程的修改 表 1: 并发概念 ...
分类:
编程语言 时间:
2020-02-03 22:18:12
阅读次数:
78
text:显示的内容 textSize:文本的大小 textColor:文本的颜色 visibility:可见性 默认可见,invisible:表示不可见,但对控件的显示区域做了保留 gone:隐藏控件当前控件显示的区域不做保留 autoLink:表示当前TextView的链接类型,值为“phone ...
分类:
其他好文 时间:
2020-02-02 13:51:48
阅读次数:
71
1、数据一致性如何保证 (线程的安全和线程同步) 线程安全在三个方面体现: 1.原子性:提供互斥访问,串行线程(atomic,synchronized); 2.可见性:一个线程对主内存的修改可以及时地被其他线程看到,(synchronized,volatile); 3.有序性:一个线程观察其他线程中 ...
分类:
编程语言 时间:
2020-01-31 18:37:01
阅读次数:
110
InnoDB 的行数据有多个版本,每个数据版本有自己的 row trx_id,每个事务或者语句有自己的一致性视图。普通查询语句是一致性读,一致性读会根据 row trx_id 和一致性视图确定数据版本的可见性。对于可重复读,查询只承认在事务启动前就已经提交完成的数据;对于读提交,查询只承认在语句启动 ...
分类:
其他好文 时间:
2020-01-29 22:00:51
阅读次数:
78
1、认识volatile关键字 volatile是java提供的一种同步手段,只不过它是轻量级的同步,为什么这么说,因为volatile只能保证多线程的内存可见性,不能保证多线程的执行有序性。而最彻底的同步要保证有序性和可见性,例如synchronized。任何被volatile修饰的变量,都不拷贝 ...
分类:
其他好文 时间:
2020-01-29 21:42:42
阅读次数:
70
概念: 是利用锁的机制来实现同步的。 锁机制有如下两种特性: 互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机制,这样在同一时间只有一个线程对需同步的代码块(复合操作)进行访问。互斥性我们也往往称为操作的原子性。 可见性:必须确保在锁被释放之前,对共享变量所做的修 ...
分类:
其他好文 时间:
2020-01-23 22:53:14
阅读次数:
168
volatile是什么? volatile是JVM提供的一种轻量级的同步机制,其具有三个特性。 保证可见性 不保证原子性 禁止指令重排 保证可见性 JMM(java memory model)中文翻译为Java内存模型,是JVM下的一种规范,规定了JVM对于程序在内存中的变量应该以什么样的一样形式进 ...
分类:
编程语言 时间:
2020-01-23 19:56:10
阅读次数:
99
1、为什么要引入java内存模型 java是支持多线程的,但是其可见性,原子性,有序性是导致多线程bug的原因,所以引入java内存模型来解决这些问题。 2、什么是java内存模型 java内存模型概括来说是解决可见性和有序性的。 1)可见性 - 缓存导致 当创建线程时JVM会为其创建自己的内存存储 ...
分类:
编程语言 时间:
2020-01-21 23:50:12
阅读次数:
163
1.说说你对volatile的理解。 volatitle在多线程情况下,可以保证数据数据的可见性。禁止指令重排优化,从而避免多线程环境下程序出现乱序执行导致执行结果不一致的问题,它不支持原子性(使用AutomicInteger来保证原子性)。 2.你在哪些地方使用过volatitle在单例模式DCL ...
分类:
编程语言 时间:
2020-01-21 20:02:17
阅读次数:
78