
yzy并发
叶子猿的并发
nzch
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java并发编程实战-40-线程之间的通信Exchanger
场景:一个线程去网易抓取,一个线程去百度抓取,去比对,设置超时时间。代码:package com.roocon.thread.tb7;import java.util.concurrent.Exchanger;public class Demo { public void a (Exchanger<String> exch) {//0.作为参数传入 System...原创 2019-09-27 08:34:37 · 174 阅读 · 0 评论 -
java并发编程实战-38-并发工具类CyclicBarrier详解
CyclicBarrier屏障:一个简单的功能:package com.roocon.thread.tb5;import java.util.Random;import java.util.concurrent.CyclicBarrier;public class DemoMy { Random random = new Random(); publ...原创 2019-09-26 10:58:17 · 152 阅读 · 0 评论 -
java并发编程实战-22-AbstractQueuedSynchronizer(AQS)详解----超级重要-----二周目
总结:XXXState(int):以原子的方法来操作int值,获得同步器。内部没有同步的接口,而是定义了acquireInterruptinly(int)方法。支持独占和共享模式,或者两者同时支持。网址:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh看ReentrantLock的源码,我们关注的就是lock和unl...原创 2019-09-19 20:26:09 · 307 阅读 · 0 评论 -
并发完全知识点目录--yzy
1.condition使用codition循环打印:https://blog.youkuaiyun.com/qq_28764557/article/details/101344350使用condition实现一个有界的队列:https://blog.youkuaiyun.com/qq_28764557/article/details/104700390condition的原理解析:https://blog.c...原创 2020-03-07 16:17:25 · 198 阅读 · 0 评论 -
java并发编程实战-33-使用condition的源码解析
先看下源码的结构:可见是sync的newCondition。abstract static class Sync extends AbstractQueuedSynchronizer {}可见: final ConditionObject newCondition() { return new ConditionObject(); }...原创 2020-03-06 18:08:55 · 223 阅读 · 0 评论 -
java并发编程实战-32-使用condition重写wait和notify并实现一个有界的队列
package com.roocon.thread.ta7;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class Tmall2 { private ...原创 2020-03-06 17:56:28 · 194 阅读 · 0 评论 -
java并发编程实战-56-longAddr--二周目
如何改进的。多个线程竞争多个值。抢占不到进行扩容。base是5 分为3和2核心方法是: public void add(long x) { Cell[] as; long b, v; int m; Cell a;//Cell只维护了一个long的value值。 if ((as = cells) != null || !casBas...原创 2019-10-25 16:34:19 · 383 阅读 · 0 评论 -
java并发编程实战-19-原子类------二周目
使用原子类更新数组:private int [] s = {2,1,4,6};AtomicIntegerArray a = new AtomicIntegerArray(s); a.getAndIncrement(2); a.getAndAdd(2, 10);-----------更新引用类型:AtomicReference<User> user =...原创 2019-10-25 16:09:21 · 120 阅读 · 0 评论 -
java并发编程实战-50-简单实现消息队列----二周目(没复习没有价值)
发布订阅:生产者生产消息到队列,消费者去队列订阅。应用场景:1.高速对低速2.邮件问题,200000000个邮件放在队列3.流量削峰哪些队列:--------------------------不实现了,自己研究源码-------下载源码的地址可以复习下----------------------- ...原创 2019-10-08 10:54:09 · 147 阅读 · 0 评论 -
java并发编程实战-49-Java中的阻塞队列原理与使用-基于数组的--------二周目
生产者消费者得改造:这个队列支持优先级排序并且是无界的阻塞队列。带延时功能的。只有put和take是阻塞的。代码:package com.roocon.thread.tc9;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;public...原创 2019-10-08 10:39:25 · 116 阅读 · 0 评论 -
java并发编程实战-53-Executor框架--------------二周目
底层代码延时的线程池:package com.roocon.thread.td5;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.con...原创 2019-10-08 12:50:49 · 136 阅读 · 0 评论 -
java并发编程实战-52-线程池的原理与使用-----二周目
package com.roocon.thread.td4;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy;i...原创 2019-10-08 11:58:02 · 137 阅读 · 0 评论 -
java并发编程实战-46-同步容器和并发容器-----------------二周目
线程不安全线程安全性能差性能差。继承的差不多的。一个加锁一个不加锁集合将Arraylist转化为线程安全的也是加锁的。package com.roocon.thread.tc7;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;public clas...原创 2019-09-29 17:38:25 · 141 阅读 · 0 评论 -
java并发编程实战-44-Future源码解析----cas---------------二周目---太具体的原理就不看了
Future的源码这个东西存在的意义就是线程去干 我去拿结果可以 public FutureTask(Callable<V> callable) {//错误的东西但是好理解FutureTask是Runnable Callable是run 里面是run的实现 if (callable == null) throw new NullP...原创 2019-09-28 11:25:51 · 158 阅读 · 1 评论 -
java并发编程实战-42-提前完成任务的应用类FutureTask----二周目
拿小票取蛋糕,蛋糕做好了通过future去获取。FutureTask最后也是继承的RunnableCallable内部只有一个call方法package java.util.concurrent;@FunctionalInterfacepublic interface Callable<V> { /** * Computes a result...原创 2019-09-28 09:39:54 · 101 阅读 · 0 评论 -
java并发编程实战-45-Fork/join框架---二周目
单核的时候路子转烤烧饼肯定没有一个一个烤烧饼快,因为切换消耗资源现在是多核了就没有这个问题了。多核是多个火炉,但是一个烧饼其他的火苗就全浪费了。Fork/join就是将一个烧饼切位四份,多核cpu,多个火苗。烤完之后四份合为一个。-------------计算1+2+3+4+5+。。。。。。。+100分开分为50个小任务。继承关系图。pac...原创 2019-09-29 16:36:29 · 155 阅读 · 0 评论 -
java并发编程实战-37-并发工具类CountDownLatch详解---二周目
案例:使用多线程完成累计求和的过程:有几行就有几个线程累计求和。线程的基本套路就是一个实体的Demo类,里面是sync的方法里面是要实现的逻辑。一个类继承runnable,构造函数传入实体类的实例,不断的去调用实体类的sync方法。main函数 ,new实体类,new Thread(new runnanle(实体类)).start();package com.ro...原创 2019-09-26 09:13:02 · 208 阅读 · 0 评论 -
java并发编程实战-30-通过生产者消费之模型了解等待唤醒机制---二周目
消费者等待生产者生产产品,造多了就不造了,少了就去生产。抽取对象:消费者 生产者 电商天猫:package com.roocon.thread.ta7;public class Tmall { private int count; public final int MAX_COUNT = 10; public synchronized void push ()...原创 2019-09-25 11:17:51 · 152 阅读 · 0 评论 -
java并发编程实战-31-Condition的使用与原理------二周目
Condition:notify不能指定叫醒什么线程,condition可以。也是依赖于aqs的。Condition是接口。快捷键:ctrl+h alt+7两个实现类:第二个是aqs的内部类。三个线程按照顺序执行:123 123 123 123用wait和notify写:线程Thread的写法实战第一种:class A implements Runn...原创 2019-09-25 08:55:36 · 192 阅读 · 0 评论 -
并发得面试问题实战
1.不断得打印123 123 123:代码yzy得ta8,注意先搭架子再说别的。注意这个架子是必须得。注意不能在加锁得方法里面while true得这样就永远就解不开锁了。用wait和notify的模板的:package thread.ta8;public class DemoMy { public synchronized void a(){ ...原创 2020-02-23 12:28:57 · 145 阅读 · 0 评论 -
java并发编程实战-29-wait和notify---二周目
多线程的通信: 方法的执行在栈帧完成的。package com.roocon.thread.ta6;import com.roocon.thread.t5.Singleton2;public class Demo { private volatile int signal; public void set (int value) { this.signal = ...原创 2019-09-17 10:57:34 · 184 阅读 · 0 评论 -
java并发编程实战-21-手动写一个可重入锁---二周目
这个代码保证value++的原子性。自己实现一把锁: 为什么不支持重入?这个是mylock老的代码。这个while当作if去解读就可以了。解锁了。多线程去执行在Demo中测试重入。package com.roocon.thread.ta1;import java.util.concurrent.locks.Lock;import java.util.co...原创 2019-09-17 10:13:06 · 155 阅读 · 0 评论 -
java并发编程实战-20-Lock接口的认识和使用-------------二周目
线程的安全性问题解决:voliate只能是可见性 ;AtomicInteger只是原子的;Lock接口Lock接口的实现类和方法:多个线程并发拿锁抢占资源是无法终断的使用这个方法可以中断。tryLock是非阻塞的获取锁。公平和非公平锁。看其实现类:package com.roocon.thread.t9;public class Sequ...原创 2019-09-17 09:16:54 · 151 阅读 · 1 评论 -
java并发编程实战-14-15-synchronized----引申知识偏向锁和轻量级锁------二周目
synchronized: 内置锁:每一个对象都可以用来成为锁,就是内置锁。 synchronized方法上就是当前的this对象当前类的实例。 synchronized修饰 普通方法 静态方法 (当前的class字节码对象) 修饰代码块(括号里面的对象或者类的字节码对象)。 --------------------------t4-------...原创 2019-09-16 12:06:24 · 147 阅读 · 0 评论 -
java并发编程实战-17-理解自旋锁-死锁-重入锁----二周目
重入锁:synchronized加到方法上锁的就是当前类的实例。package com.roocon.thread.t6;public class Demo { public synchronized void a () { System.out.println("a");// b(); try { Thread.sleep(1000); } cat...原创 2019-09-16 08:38:38 · 199 阅读 · 0 评论 -
java并发编程实战---36--ThreadLocal--二周目
ThreadLocal:代码演示:package com.roocon.thread.tb3;public class Demo { private ThreadLocal<Integer> count = new ThreadLocal<Integer>() { protected Integer initialValue() { return...原创 2019-09-12 16:57:42 · 129 阅读 · 0 评论 -
java并发编程实战---25---26---27--读写锁-一周目
读写锁解读:https://www.jb51.net/article/145099.htmpackage com.roocon.thread.ta3;import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.Lock;import java.util.concurrent.lock...原创 2019-09-07 13:03:42 · 179 阅读 · 0 评论