Java并发学习
文章平均质量分 85
Java并发学习, 并发学习分享
七夜丶雪
听雪楼前听雪落,彼岸花开彼岸零
展开
-
Java并发-synchronized, 偏向锁, 轻量级锁详解
synchronized概述synchronized就是所谓的重量级锁, 但是自从jdk1.6引入了偏向锁, 轻量级锁之后, synchronized就没有那么重了。synchronized用法对于普通同步方法,锁是当前实例对象对于静态同步方法,锁是当前类的Class对象对于同步方法块,锁是Synchonized括号里配置的对象synchronized实现原理任何对象都有一...原创 2018-09-27 18:43:03 · 1549 阅读 · 1 评论 -
并发编程概述
并发编程并发编程的四个阶段掌握基本的API,能够熟练的编写正确的多线程程序熟读API源码,理解其实现的原理,并能够举一反三了解java虚拟机的内存模型了解操作系统对多线程的支持进程与线程进程运行中的程序进程是资源配的基本单位进程中包含多个线程,线程共享进程资源线程线程是处理器调度的基本单位状态 初始(NEW)运行(RUNNABLE)阻...原创 2018-07-29 09:32:23 · 152 阅读 · 0 评论 -
Java创建线程的方式
继承Thread类/** * 继承Thread类实现线程 * @author Administrator * */public class ThreadDemo1 extends Thread { @Override public void run() { System.out.println("线程执行中------") ; }}...原创 2018-07-29 09:36:42 · 113 阅读 · 0 评论 -
java多线程之守护线程
概述java线程分为普通线程和守护线程,普通线程是运行在前端的线程,守护线程运行在后台的,守护线程主要是为其他线程提高一些服务,当所有非守护线程都结束之后,守护线程也会被虚拟机自动终止. java中可以通过Thread的setDaemon(true)方法将一个线程设置为守护线程守护线程必须在线程启动前设置,不然会抛出一个IllegalThreadStateException异常,...原创 2018-07-30 22:32:07 · 248 阅读 · 0 评论 -
RandomAccessFile并发复制文件
RandomAccessFile概述下面是引自jdk1.6的api中对这个类的描述: 此类的实例支持对随机访问文件的读取和写入。随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组。存在指向该隐含数组的光标或索引,称为文件指针;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。如果随机访问文件以读取/写入模式创建,则输出操作也可用;输出操作从文件指针开始写...原创 2018-07-30 23:05:36 · 1785 阅读 · 1 评论 -
Java并发工具类-ThreadLocal详解
ThreadLocal简介ThreadLocal是一个线程的局部变量,在多线程环境下,每个线程针对ThreadLocal的操作,都只会影响到自己本身的值,并不会对其他线程产生影响,从而解决一部分线程安全性问题,下面是jdk对这个工具类的描述 该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每...原创 2018-07-31 22:58:41 · 1298 阅读 · 0 评论 -
Java并发工具类--CountDownLatch详解
CountDownLatch简介首先来看下JDK中对这个类的描述: 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回...原创 2018-08-04 21:47:54 · 539 阅读 · 0 评论 -
Java并发工具类-循环屏障CyclicBarrier
CyclicBarrier简介CyclicBarrier API构造方法await方法reset方法使用样例CyclicBarrier源码详解CyclicBarrier中属性构造方法及初始化核心await方法其他方法nextGeneration方法breakBarrier方法reset方法CyclicBarrier简介一个同步辅助类,它允许...原创 2018-08-10 07:33:21 · 452 阅读 · 0 评论 -
java并发工具类-计数信号量(Semaphore)
Semaphore简介 Semaphore是一个计数信号量,是由JDK提供的一个并发工具类,在java.util.concurrent包下.下面是jdk中对Semaphore的描述: 一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者...原创 2018-08-12 21:05:25 · 684 阅读 · 0 评论 -
Java内存模型(JMM)
主内存与工作内存概述 Java内存模型的主要目标是定义程序中各个变量的访问规则, 即在虚拟机中将变量存储到内存和从内存中取出变量这样的低层细节. 变量 : 和Java编程中所说的变量有所区别, 它包括了实例字段, 静态字段和构成数组对象的元素,但不包括局部变量和方法参数,因为后者是线程私有的, 不会被共享.线程,主内存,工作内存交互关系从变量, 主内存,...原创 2018-09-16 11:18:31 · 490 阅读 · 0 评论 -
Java与线程
线程的实现使用内核线程实现使用用户线程实现使用用户线程加轻量级进程混合实现Java线程的实现 JDK1.2之前是基于成为”绿色线程”(Green Threads)的用户线程实现的JDK1.2及之后, 线程模型替换为基于操作系统原生线程模型来实现Java线程调度 线程调度是指系统为线程分配使用权的过程, 主要调度方式有两种, 分别是协同线程调度(Cooperative ...原创 2018-09-16 11:20:07 · 158 阅读 · 0 评论 -
Java并发之volatile详解
JVM内存区域线程独占区域程序计数器(Program Counter Register)概述 :程序计数器是一块个较小的内存空间, 它可以看做是当前线程所执行的字节码的行号指示器. 在虚拟机的概念模型里(仅是概念模型, 各种虚拟机可能通过一些更高效的方式去实现), 字节码解释器工作时就是通过改变这个计数器的值来选取下一条执行的字节码指令, 分支,循环,跳转,异常处理,线程恢复等基础功能...原创 2018-09-24 23:06:57 · 200 阅读 · 0 评论