ICode9

精准搜索请尝试: 精确搜索
  • JUC并发编程快速入门篇(四)—— 多线程锁2021-12-23 22:02:13

    多线程锁 synchronized锁的八个问题 案例 class Phone { public static synchronized void sendSMS() throws Exception { //停留4秒 TimeUnit.SECONDS.sleep(4); System.out.println("------sendSMS"); } public static synchronized vo

  • JUC并发编程快速入门篇(三)—— 集合的线程安全2021-12-23 06:33:00

    集合的线程安全 List集合线程安全问题 /* list集合线程安全 */ public class ThreadDemo4 { public static void main(String[] args) { //创建ArrayList集合 // List<String> list = new ArrayList<>(); //不安全 // List<String> list= new Ve

  • JUC并发编程(二)——线程间通信和定制化通信2021-12-23 06:02:01

    线程间通信和定制化通信 线程间通信概述 线程间通信的模型有两种:共享内存和消息传递,以下方式都是基本这两种模型来实现的。 模拟场景---两个线程,一个线程对当前数值加 1,另一个线程对当前数值减 1,要求用线程间通信 synchronized 方案 //创建资源类,定义属性和操作方法 class Share{

  • JUC并发编程(一)—— Synchronized和Lock2021-12-23 05:31:09

    Synchronized和Lock Synchronized synchronized 是 Java 中的关键字,是一种同步锁。它修饰的对象有以下几种: 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 修饰一个方法,被修饰的方法称为同步方法,其作用的范

  • JUC学习笔记(二):八锁现象2021-12-16 13:02:49

    八锁现象主要是指 八种锁的情况,掌握了这八种情况我们以后碰到锁就能明白锁锁的是谁了 在了解八锁之前,我们需要先了解什么是锁:         锁是一种将资源私有化的的方式,在java中就是让某个类、变量、方法在同一个时刻只能被一个线程使用,保证数据的安全性,只要当使用锁的线程

  • JUC—Lock锁2021-12-16 09:34:04

    文章目录 一、Lock二、ReentrantLock用法 三、 Lock 锁和 Synchronized 的区别四、 传统 Synchronized 生产者和消费者问题五、Lock 和 Condition 生产者消费者问题六、Condition 精准唤醒 一、Lock Lock 是一个接口,主要实现类包括: ReentrantLock 可重入锁(常用)Reentrant

  • JUC概述2021-12-12 19:03:23

    JUC概述1: 首先是进程和线程的概念: 进程:是指系统在系统中正在运行的一个应用程序,程序一旦运行就是进程,进程是资源分配的最小单位 线程:进程之内独立执行,是程序执行的最小单位 线程的六大状态:在线程的枚举类中  public enum State {          /**           * Thread stat

  • JUC编程(五)-ReadWriteLock2021-12-10 02:00:06

    七.ReadWriteLock ReadWriteLock读写锁实现类为ReentrantReadWriteLock。用于控制读写数据,一次只有一个线程( 写入线程)可以修改共享数据,任何数量的线程都可以同时读取数据。 通过readLock()控制读数据,writeLock()控制写数据。 public class ReadWrite { public static void mai

  • JUC学习 - 深入剖析线程池(ThreadPoolExecutor)(补)2021-12-05 15:59:48

    接上一篇博客 https://blog.csdn.net/qq_43605444/article/details/121727738?spm=1001.2014.3001.5501 6、Worker 类 下面的是在 Worker 类上的官方的一段注释: /** * Class Worker mainly maintains interrupt control state for * threads running tasks, along with o

  • JUC同步框架详解2021-12-03 20:01:16

    前言 最近几个周末都在学习JUC有关的东西,在学习AQS时在网上发现了《The java.util.concurrent Synchronizer Framework》这篇论文的中文翻译,因此分享下。 英文版地址:http://gee.cs.oswego.edu/dl/papers/aqs.pdf 摘要 在J2SE 1.5的java.util.concurrent包(下称j.u.c包)中,大部分的

  • JUC核心控件AQS源码解析第三部分(共享锁、CountDownLatch和CyclicBarrier)2021-11-25 22:30:00

    结合CountDownLatch和CyclicBarrier了解一下AQS的共享锁部分 1、CountDownLatch的使用 先看下CountDownLatch是怎么使用的 public class CountDownLatchTest { public void CountDownLatchTest() throws InterruptedException { CountDownLatch doneSignal = new

  • JUC学习 - 用户线程和守护线程2021-11-25 20:34:12

    一、用户线程和守护线程 1、守护线程 & 用户线程的认识 守护线程是一种特殊的线程,在后台默默地完成一些系统性的服务,比如垃圾回收线程、JIT线程都是守护线程。 与之对应的是用户线程,用户线程可以理解为是系统的工作线程,它会完成这个程序需要完成的业务操作。 如果用户线程全

  • JUC- 线程池2021-11-22 18:03:03

    目录 ThreadPool 线程池1 线程池简介线程池的优势它的主要特点为: 2 线程池参数说明2.1 常用参数(重点)2.2 拒绝策略(重点) 3 线程池的种类与创建3.1 newCachedThreadPool(常用)3.2 newFixedThreadPool(常用)3.3 newSingleThreadExecutor(常用)3.4 newScheduleThreadPool(

  • 【JUC】 ThreadLocal原理+内存泄漏问题2021-11-14 20:30:10

    ThreadLocal ThreadLocal是一个线程内部的存储器,存放的元素只能线程自身访问,其余线程访问不了。 与Synchronized的比较 Synchronized,是依赖与锁机制,在并发情况下,只让一个线程访问共享的变量或者代码块。而ThreadLocal则是为每个线程提供一个变量的副本,使得每个线程在访问的时

  • CopyOnWriteArrayList2021-11-13 12:00:53

    CopyOnWriteArrayList JUC 并发领域的概念 JUC:java.util.concurrent package com.example.multi_thread; import java.util.concurrent.CopyOnWriteArrayList; public class TestJUC { public static void main(String[] args) throws InterruptedException { Cop

  • JUC知识点记录(2021年11月11日20:22:19)2021-11-11 20:31:49

    JUC知识点记录 看完狂神的视频 纯属想记录 回顾 狂神哥直链: 遇见狂神说的个人空间_哔哩哔哩_bilibili 没有不会做的事,只有不想做的事。 1、线程和进程 进程是操作系统中的应用程序、是资源分配的基本单位,线程是用来执行具体的任务和功能,是CPU调度和分派的最小单位一个进程往

  • 一、JUC之线程基础(源码级别)2021-11-11 11:30:52

    一、JUC之线程基础 1、Java多线程相关概念1、进程2、线程3、管程4、线程状态?5、wait/sleep的区别? 2、为什么多线程极其重要???3、从start一个线程说起4、用户线程和守护线程守护线程用户线程重点 5、获得多线程的方法几种?6、Callable接口1、与runnable对比2、怎么用 下一章:线

  • JUC基础学习笔记2021-11-11 01:03:34

    JUC的理解: JUC即java.util .concurrent工具包的简称。从JDK 1.5 开始出现,主要用于处理多线程、高并发问题。     多线程的三大特征解析   原子性、可见性、有序性 1、原子性:指一个操作或者多个操作,要么同时成功并且执行的过程不会被任何因素打断,要么同时失败。 2、可见

  • Java基础-JUC篇-上2021-11-09 22:04:14

    Java基础 两句题外话,自己复习整理的知识点,准备发出来分享给大家。有不足之处还望不吝赐教,都是自己手打,难免有错别字,担待,谢谢各位! JUC 1. 谈谈对volatile的理解 ① 保证可见性 ② 不保证原子性 ③ 禁止指令重排序 ④ volatile的原理和实现机制:观察加入volatile关键字和没有加

  • JUC并发编程与源码分析(2)2021-11-05 23:58:56

    JUC并发编程与源码分析 一、Java的锁1.1 乐观锁和悲观锁1.1.1 悲观锁1.1.2 乐观锁 1.2 通过8种情况演示锁运行案例,看看我们到底锁的是什么1.2.1 JVM中对应的锁在哪里?1.2.2 synchronized有三种应用方式1.2.2.1 JDK源码(notify方法)说明举例1.2.2.2 8种锁的案例实际体现在3

  • 【架构师面试-JUC并发编程-10】-ThreadLocal2021-11-05 12:02:33

    1:什么是ThreadLocal类,怎么使用它  ThreadLocal为每个线程维护一个本地变量。 采用空间换时间,它用于线程间的数据隔离,为每一个使用该变量的线程提供一个副本,每个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。 ThreadLocal类中维护一个Map,用于存储每一个线程的变

  • 【架构师面试-JUC并发编程-8】-AQS2021-11-04 22:02:12

    1:为什么需要AQS 锁和协作类(信号量)有共同点:类似一个闸门(只允许部分线程通过),因为它们底层都用一个共同的基类AQS 因为上面的那些协作类,它们有很多工作类似,所以可以提取出一个工具类,就可以直接用,对于ReentrantLock和Semaphore而言就可以屏蔽很多细节,只关注它们自己的业务逻辑就可以

  • ReadWriteLock JUC多线程读写锁2021-11-04 14:58:19

    package com.pa.test.JUC.lock; import java.util.HashMap; import java.util.Map; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; /** * ReadWriteLock * 读 读 可以共存 * 读 写 不能共存 * 写 写

  • 初始Java多线程之JUC2021-10-28 18:04:38

    一、程序、进程和线程 程序(program)是用某种语言编写的一组指令的集合用来解决某一个或者某一类问题。 进程(process)是程序的一次执行过程,或是正在运行的一个程序。它最大的特点就是,数据一次加载完成后就不需要再进行加载。一个程序是由多个进程组成的。 线程(thread),线程

  • JUC并发编程2021-10-25 01:32:34

    wait/sleep区别 来自不同的类 wait->object sleep->Thread   wait会释放锁 sleep会抱着锁睡觉 Synchronized和Lock区别     .notifyAll();通知其他线程.wait();等待 (会释放锁)(if改为while防止虚假唤醒) package lock;import java.util.concurrent.locks.Lock;public class demo1 {

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有