加载中
线程等待唤醒机制

1)3种让线程等待和唤醒的方法 方式1:使用Object中的wait()方法让线程等待,使用Object中的notify()方法唤醒线程 1、wait()、notify/notifyAll() 方法是Object的本地final方法,无法被重写。...

04/08 23:02
303
LockSupport与线程中断

如何停止、中断一个运行中的线程?? 线程api 1)面试题:如何使用中断标识停止线程? 在需要中断的线程中不断监听中断状态,一旦发生中断,就执行相应的中断处理业务逻辑。 1.修改状态 2.停止...

04/07 23:23
489
FutureTask再回顾已淘汰

不上战场,就只能等死 时刻磨刀,学习提升,才能不被淘汰 FutureTask Demo package com.qf58.exec; import java.util.concurrent.Callable; import java.util.concurrent.FutureTask; /** *...

03/09 22:43
316
threadlocal

Modifier and Type Method and Description T get() 返回当前线程的此线程局部变量的副本中的值。 protected T initialValue() 返回此线程局部变量的当前线程的“初始值”。 void remove() ...

2020/10/09 23:13
274
聊聊读写锁stampedLock

锁可以分类两大类:读锁和写锁 读锁是共享锁,写锁是排他锁,读读共享,读写互斥,写写互斥,写读互斥。 从升级层面来说: 1.无锁,再无并发,效率最高 2.synchronized 有锁,不过效率偏低,...

2020/08/27 23:31
621
并发编程原理

java多线程的锁主要是为了干嘛? 保证线程同步执行,如果没有锁 A线程,B线程 a(){ int i; } A和B线程都会访问到a(),同时对a变量做修改,就会造成脏读 如果能够保证A线程,B线程的执行顺序,...

2020/04/12 09:37
567
深入分析CAS(乐观锁)

什么是CAS (1)CAS(compare and swap) 比较并替换,比较和替换是线程并发算法时用到的一种技术 (2)CAS是原子操作,保证并发安全,而不是保证并发同步 (3)CAS是CPU的一个指令 (4)CAS是...

CAS
2019/10/25 16:35
216
java中锁的优化 -- JVM对synchronized的优化

java中锁的优化 -- JVM对synchronized的优化 1)锁消除 概念:JVM在JIT编译(即时编译)时,通过对运行上下文的扫描,去除掉那些不可能发生共享资源竞争的锁,从而节省了线程请求这些锁的时间。...

2019/10/25 16:04
180
Java 之 synchronized 详解

一、概念 synchronized 是 Java 中的关键字,是利用锁的机制来实现同步的。 锁机制有如下两种特性: 互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机...

2019/10/25 14:52
319
juc线程间通信

两个线程,一个线程打印1-52,另一个打印字母A-Z打印顺序为12A34B...5152Z, 要求用线程间通信 1.synchronized实现 package com.liuyuanyuan.thread; import java.util.concurrent.locks.Cond...

2019/08/04 11:53
69
JUC上篇

1、JUC是什么? 2.首先要回忆一下什么是进程和线程。 进程:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既...

2019/08/03 20:52
162
juc

1. JUC 简介 在 Java 5.0 提供了 java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的工具类, 用于定义类似于线程的自定义子系统,包括线程池,异步 IO 和轻量级任务框架;还提...

2019/03/10 12:12
165
ThreadLocal

一、ThreadLocal简介   多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步...

2020/05/31 23:29
73
Java多线程之死锁编码及定位分析

目录 死锁是什么 代码实现 死锁解决办法 1. 死锁是什么 死锁是指两个或两个以上的进程在执行过程中因争夺资而造成的一种互相等待的现象,若无外力干涉那它们都将无法推进下去, 如果系统资源...

2019/08/06 19:47
116
Java多线程之线程池配置合理线程数

目录 代码查看公司服务器或阿里云是几核的 合理线程数配置之CPU密集型 合理线程数配置之IO密集型 1. 代码查看公司服务器或阿里云是几核的 要合理配置线程数首先要知道公司服务器或阿里云是几...

2019/08/06 19:44
339
Java多线程之线程池的手写改造和拒绝策略

目录 自定义线程池的使用 四种拒绝策略代码体现 1. 自定义线程池的使用 自定义线程池(拒绝策略默认AbortPolicy) public class MyThreadPoolDemo { public static void main(String[] args)...

2019/08/06 19:41
604
Java多线程之线程池7大参数、底层工作原理、拒绝策略详解

Java多线程之线程池7大参数详解 目录 企业面试题 线程池7大参数源码 线程池7大参数详解 底层工作原理详解 线程池的4种拒绝策略理论简介 面试的坑:线程池实际中使用哪一个? 1. 企业面试题 ...

2019/08/06 19:37
2K
Java多线程之线程池详解

目录: 线程池使用及优势 线程池3个常用方式 线程池7大参数深入介绍 线程池底层工作原理 1. 线程池使用及优势 线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在...

2019/08/06 19:30
34
Java多线程之Callable、Future和FutureTask

我们学习java基础的时候,知道创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行...

2019/08/06 19:19
36

没有更多内容

加载失败,请刷新页面

返回顶部
顶部