![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发学习
cruder丶
无啊啊啊啊啊啊啊啊啊
展开
-
线程并发处理框架ForkJoin
ForkJoin:分而治之、工作窍取 分而治之:字面理解就是将一个任务分开治理,当一个任务达到某个需要分开治理的条件时,将该任务分成不同的小任务进行执行,最后汇总。 采用RecursiveTask进行同步执行任务并返回一个数组和 package com.example.demo.concurrentlearn.forkjoin; import java.util.Random; import java.util.concurrent.ForkJoinPool; import java.util.c原创 2020-07-03 00:59:32 · 107 阅读 · 0 评论 -
java-显式锁(Lock)
在谈及显式锁的时候,肯定会将隐式锁(synchronized),又称内置锁进行对比。 首先记录下synchronized和Lock的区别(synchronized是java关键字,而Lock是并发包中的一个接口,直接看它的接口就知道了): Lock: 1、Lock可以在获取锁的过程中中断; 2、Lock可以尝试获取锁,并且可以设置超时机制; 3、Lock接口中的实现类有读写锁,所以在...原创 2019-11-28 16:58:06 · 150 阅读 · 0 评论 -
1、线程的多种实现方式和终止
一、线程的启动方式 1、实现Runnable方式(线程可以继承其他的类) package com.study.threa; /** * Created by Administrator on 2019/7/27. */ public class Threads implements Runnable{ public void run() { Thread.cu...原创 2019-07-27 13:17:08 · 124 阅读 · 0 评论 -
2。线程相关的关键词(synchronized,volatile,ThreadLocal)
1、synchronized synchronized分类锁和对象锁; package com.study.syn; /** * Created by Administrator on 2019/7/28. */ public class SynTest { public synchronized void syn1(){ try { ...原创 2019-07-28 22:41:04 · 412 阅读 · 2 评论 -
java原子操作(CAS)
在看了有关的CAS介绍之后,记录一下CAS的相关知识,作为再查阅。 java利用处理器的CAS(Compare And Swap)指令,循环执行数据比对,直到成功就停止循环。 实际过程: 如果多个线程要对一个变量A(Integer)进行修改,假设变量A初始化值为1,此时线程1要对A进行修改,修改过程,线程1通过传入期望值和修改值,与变量A的初始化值进行匹配。期望值与初始化值匹配成功就将A的值...原创 2019-11-28 10:12:26 · 151 阅读 · 0 评论