java并发
谁是回忆
这个作者很懒,什么都没留下…
展开
-
JAVA并发Day3 (java内存模型)
此篇博客在jvm深入理解中我已经讲过了原子性原子性是指一个操作是不可中断的,即使是多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰, CPU的指令一般都是原子性的操作,我们写的程序代码不一定具有原子性 1. i++ 是原子操作?1. 读取 2,然后进行++ 3.然后写会,如果多个线程同时i++他们之间就可能有冲突 (在jvm 的时候也是这个例子) ...原创 2018-08-26 19:58:18 · 151 阅读 · 0 评论 -
JAVA并发Day4 无锁
无锁的原理详解CASCAS算法的过程是这样:它包含3个参数CAS(V,E,N)。V表示要更新的变量,E表示预期值,N表示新值。仅当V值等于E值时,才会将V的值设为N,如果V值和E值不同,则说明已经有其他线程做了更新,则当前线程什么都不做。最后,CAS返回当前V的真实值。CAS操作是抱着乐观的态度进行的,它总是认为自己可以成功完成操作。当多个线程同时使用CAS操作一个变量时,只有一个会...原创 2018-07-18 11:53:31 · 301 阅读 · 0 评论 -
JAVA 并发Day1
jvm 在启动的时候就会启动很多线程, main 线程 gc 线程 jit 线程https://www.cnblogs.com/jiangwangxiang/p/9094006.htmllinux 之父, linus torvalds 对并行反对意见并行计算只有在图像处理和服务端编程2个领域可以使用,并且它在这2个领域确实有着大量广泛的使用 同步(synchrono...原创 2018-07-16 22:24:59 · 111 阅读 · 0 评论 -
JAVA并发Day2 (并行程序基础)
进程和线程https://www.cnblogs.com/tiankong101/p/4229584.htmlhttps://www.cnblogs.com/dreamroute/p/5207813.htmljava 中的线程会被映射到操作平台上,进程 的调度可以说对于操作系统是一个大的调度,线程是进程中的执行单元在java 中创建一个线程jvm 会把线程映射到window 进...原创 2018-08-26 17:27:19 · 186 阅读 · 0 评论