所有示例代码,请见/下载于https://github.com/Wasabi1234/concurrency#1基本概念##1.1并发同时拥有两个或者多个线程,如果程序在单核处理器上运行多个线程将交替地换入或者换出内存,这些线程是同时“存在"的,每个线程都处于执行过程中的某个状态,如果运行在多核处理器上,此时,程序中的每个线程都将分配到一个处理器核上,因此可以同时运行.##1.2高并发(
分类:
编程语言 时间:
2019-01-01 22:50:42
阅读次数:
217
对象的共享 要编写正确的并发程序,关键在于:在访问共享的可变状态时需要进行正确的管理。 1.可见性 为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。 重排序: 多个线程操作的时候没有按照程序的定义的顺序来执行。只要在某个线程中无法检测到重排序的情况,那么就无法确保线程中的操作按照程序中 ...
分类:
其他好文 时间:
2018-12-31 21:13:59
阅读次数:
162
重排序:是指编译器和处理器为了优化程序性能而对指令序列进行重新排序的一种手段。 当数据依赖的时候不允许产生重排序,多线程有些情况下重排序会影响语义。 volatile 定义的的对象内存对多线程之间是立马可见的,他建立了先写后读happens-before关系,常用来在多线程中进行flag标志位的判断 ...
分类:
编程语言 时间:
2018-12-30 22:09:08
阅读次数:
215
关于jpa的查询 在网上能查到的资料太有限了 今天自己遇到的问题 记录下 JPA 动态查询语句 多表关联后 就会有重复的问题,这是我们不想看到的,自定义sql的时候可以通过group by ,distinct来解决 JPA中也是如此,只是不知道写在什么地方 如何来写。 CriteriaQuery 提 ...
分类:
编程语言 时间:
2018-12-20 16:59:54
阅读次数:
379
一、什么是volatile关键字 Java语言提供了一种稍弱的同步机制,即volatile变量,用来确保将变量的更新操作通知到其他线程。 当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序。 volatile变量不会被缓存 ...
分类:
其他好文 时间:
2018-12-06 12:05:49
阅读次数:
188
随机重排序 shuffle 的参数只能是 array_like,而 permutation 除了 array_like 还可以是 int 类型,如果是 int 类型,那就随机打乱 numpy.arange(int)。 shuffle 返回 None,这点尤其要注意,也就是说没有返回值,而 permu ...
分类:
其他好文 时间:
2018-12-04 17:18:47
阅读次数:
311
单例模式有五种写法:懒汉、饿汉、双重检验锁、静态内部类、枚举 懒汉式线程不安全 懒汉式,线程安全 双重检验锁 事实上在 JVM 中这句话大概做了下面 3 件事情。 但是在 JVM 的即时编译器中存在指令重排序的优化。也就是说上面的第二步和第三步的顺序是不能保证的,最终的执行顺序可能是 1-2-3 也 ...
分类:
编程语言 时间:
2018-11-30 14:00:11
阅读次数:
176
volatile关键字的两层语义 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的 可见性 ,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。 2)禁止进行 指令重排序 。 方式一:变量不使 ...
分类:
其他好文 时间:
2018-11-11 16:53:34
阅读次数:
187
Array中的srot()方法 sort()方法是用来重排序的方法。在默认情况下,sort()方法按升序排列数组项 即最小的值位于最前面,最大的值排在最后面。 我们看看官方是怎么说的: arrayObj.srot(sortFunction) 参数 arrayObj 必选项。任意Array对象 sor ...
分类:
Web程序 时间:
2018-11-09 22:04:26
阅读次数:
225
#基础篇幅:线程基础知识、并发安全性、JDK锁相关知识、线程间的通讯机制、JDK提供的原子类、并发容器、线程池相关知识点#高级篇幅:ReentrantLock源码分析、对比两者源码,更加深入理解读写锁,JAVA内存模型、先行发生原则、指令重排序#环境说明:idea、java8、maven#第一章并发简介##01课程简介为什么要学习并发编程?方便实际开发面试课程特点适合群体##02什么是并发编程并发
分类:
编程语言 时间:
2018-11-09 12:15:04
阅读次数:
204