igoodful
igoodful
全部文章
java之多线程
A-数据库之MongoDB(64)
A-数据库之MySQL(296)
A-数据库之TiDB(17)
B-语言之Go(63)
B-语言之python(18)
C-CentOS是服务器主流系统(8)
C-MacOS是常用开发的系统(8)
C-windows是常用开发的系统(11)
C-系统之linux(127)
C-系统之ubuntu(5)
java之基础(107)
matlab(11)
word(2)
前端(2)
基础之操作系统(4)
基础之算法(47)
基础之网络(24)
工作之需求(11)
工作之项目(3)
数据库之Redis(1)
数据库之设计(6)
未归档(29)
生活之人事(16)
生活之常识(20)
生活之设计(4)
电影与电视剧(1)
监控之Consul(4)
监控之Zabbix(1)
稳定资源(2)
软件之使用(111)
软件之安装(18)
归档
标签
去牛客网
登录
/
注册
igoodful的博客
全部文章
/ java之多线程
(共21篇)
java中的锁之Lock接口与Condition接口
一、Lock源码。 1、是一个接口。一共有6个方法。 2、方法详细如下: (1)当前线程尝试获取锁。结果分两种情况,一是成功获取到锁,则返回;二是获取锁失败,则一直等待。不响应中断请求。 (2)当前线程释放掉自己所占用的锁。同时唤醒这个锁上的一个等待线程。(两个任务) ...
2018-08-22
0
233
CAS机制
##################################################################### 我们知道多线程操作共享资源时,会出现三个问题:可见性、有序性以及原子性。 一般情况下,我们采用synchronized同步锁(独占锁、互...
2018-08-17
0
257
CMPXCHG指令
一、CMPXCHG汇编指令详解。 这条指令将al\ax\eax\rax中的值与首操作数比较: 1.如果相等,第2操作数的直装载到首操作数,zf置1。(相当于相减为0,所以0标志位置位) 2.如果不等, 首操作数的值装载到al\ax\eax\rax,并将zf清0 二、举例说明。...
2018-08-17
0
397
缓存一致性协议
一、动画演示。 1、https://www.scss.tcd.ie/Jeremy.Jones/vivio/caches/MESIHelp.htm 2、https://www.jianshu.com/p/81770751c11c #################################...
2018-08-17
0
332
java内存模型
一.内存模型的相关概念。 大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行指令的...
2018-08-14
0
236
锁的内存语义与实现。
短短的
2018-08-14
0
248
final的内存语义与实现
党的
2018-08-14
0
222
volatile的语义与实现
1.volatile关键字的两层语义 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。 2)禁止进行指令重排序。 ...
2018-08-14
0
291
重排序
一、重排序。 1、为什么需要重排序? 现在的CPU一般采用流水线来执行指令。一个指令的执行被分成:取指、译码、访存、执行、写回、等若干个阶段。然后,多条指令可以同时存在于流水线中,同时被执行。 指令流水线并不是串行的,并不会因为一个耗时很长的指令在“执行”阶段呆很长时间...
2018-08-14
0
204
线程启动和创建
创建和启动线程 在java中创建一个线程如下: Thread thread = new Thread(); 调用方法start()来启动一个线程: thread.start(); 这个例子没有指定线程执行任何代码,线程将会在启动之后停止...
2018-08-12
0
255
首页
上一页
1
2
3
下一页
末页