随笔分类 -  线程

摘要:什么是AQS AQS(AbstractQueuedSynchronizer)是JDK下提供的一套用于实现基于FIFO等待队列的阻塞锁和相关的同步器的一个同步框架。这个抽象类被设计为作为一些可用原子int(private volatile int state)值来表示状态的同步器的基类(如:独占锁。1 阅读全文
posted @ 2019-06-25 20:38 工作中的点点滴滴 阅读(279) 评论(0) 推荐(0)
摘要:简介 使用锁时,线程获取锁是一种悲观锁策略,即假设每一次执行临界区代码都会产生冲突,所以当前线程获取到锁的时候同时也会阻塞其他线程获取该锁。而CAS操作(又称为无锁操作)是一种乐观锁策略,它假设所有线程访问共享资源的时候不会出现冲突,既然不会出现冲突自然而然就不会阻塞其他线程的操作。因此,线程就不会 阅读全文
posted @ 2019-06-25 10:30 工作中的点点滴滴 阅读(248) 评论(0) 推荐(0)
摘要:术语定义 术语 英文单词 描述 共享变量 在多个线程之间能够被共享的变量被称为共享变量。共享变量包括所有的实例变量,静态变量和数组元素。他们都被存放在堆内存中,Volatile只作用于共享变量。 内存屏障 Memory Barriers 是一组处理器指令,用于实现对内存操作的顺序限制。 缓冲行 Ca 阅读全文
posted @ 2019-06-24 18:33 工作中的点点滴滴 阅读(88) 评论(0) 推荐(0)
摘要:进程与线程 进程 进程是系统中正在运行的一个程序,程序一旦运行就是进程,也可以说进程是受操作系统管理的基本运行单元进。 平时我们打开的任务管理器中看到进程就是启动的程序,如浏览器的打开等等 线程 进程中独立运行的子任务就是一个线程。像QQ.exe运行的时候就有很多子任务在运行,比如聊天线程、好友视频 阅读全文
posted @ 2019-06-24 15:46 工作中的点点滴滴 阅读(232) 评论(0) 推荐(0)
摘要:Thread图解 Thread类包含方法过多,目前只截取部分 Thread中的实例方法 Thread类中的方法调用方式: 1、this.XXX() 这种调用方式表示的线程是线程实例本身 2、Thread.currentThread.XXX()或Thread.XXX() 这种调用方式表示的线程是正在执 阅读全文
posted @ 2019-06-21 19:28 工作中的点点滴滴 阅读(69) 评论(0) 推荐(0)
摘要:开启线程执行任务,可以使用Runnable(无返回值不支持上报异常)或Callable(有返回值支持上报异常)接口去实现。若是开启线程池并需要获取结果归集的情况下,如何实现,以下主要介绍几种方式。 以下介绍的接口或类都存在于并发包java.util.concurrent.*中,我们主要从类图着手看齐 阅读全文
posted @ 2019-06-20 13:39 工作中的点点滴滴 阅读(214) 评论(0) 推荐(0)
摘要:背景 Java8的stream接口极大地减少了for循环写法的复杂性,stream提供了map/reduce/collect等一系列聚合接口,还支持并发操作:parallelStream。 Java8并行流ParallelStream和Stream的区别就是Stream支持行执行,而Parallel 阅读全文
posted @ 2019-05-31 22:38 工作中的点点滴滴 阅读(576) 评论(0) 推荐(0)