Java之JUC学习--part5
Java之JUC学习--part5 无锁 CAS 原理 无锁编程:Lock Free CAS 的全称是 Compare-And-Swap,是 CPU 并发原语 CAS 并发原语体现在 Java 语言中就是 sun.misc.Unsafe 类的各个方法,调用 UnSafe 类中的 CAS 方法,JVM
Java之JUC学习--part4
Java之JUC学习--part4 JMM(Java内存模型) 内存模型 Java 内存模型是 Java Memory Model(JMM),本身是一种抽象的概念,实际上并不存在,描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式 JMM
Java之JUC学习--part3
Java之JUC学习--part3 “线程同步”相关API wait-notify 基本使用 需要获取对象锁后才可以调用 锁对象.wait(),notify 随机唤醒一个线程,notifyAll 唤醒所有线程去竞争 CPU Object 类 API: public final void notify
JUC面试题之交替打印
JUC面试题之交替打印 在juc笔试题中很容易考到一种题型就是多个线程交替打印,其实这个问题有很多的解题办法。我这里都打个样。 题目:3个线程,分别打印a,b,c。但是要求三个线程依次打印。循环五次。 方法一:使用wait-notify package com.hanserwei.juc;
imp
Java之JUC学习--part2
Java之JUC学习--part2 同步 临界区 临界资源:一次仅允许一个进程使用的资源成为临界资源 临界区:访问临界资源的代码块 竞态条件:多个线程在临界区内执行,由于代码的执行序列不同而导致结果无法预测,称之为发生了竞态条件 一个程序运行多个线程是没有问题,多个线程读共享资源也没有问题,在多个线
Java之JUC学习--part1
Java之JUC学习--part1 参考视频:https://www.bilibili.com/video/BV16J411h7Rd 笔记的整体结构依据视频编写,并随着学习的深入会补充很多知识 进程与线程 概述 进程:程序是静止的,进程实体的运行过程就是进程,是系统进行资源分配的基本单位 进程的特征