目录1 线程池的优势2 线程池的使用3 线程池的工作原理4 线程池的参数4.1 任务队列(workQueue)4.2 线程工厂(threadFactory)4.3 拒绝策略(handler)5 功能线程池5.1 定长线程池(FixedThreadPool)5.2 定时线程池(ScheduledThreadPool )5.3 可缓存线程池(CachedThre ......
352
0
0
2023-04-21
目录 1. 固定数量的线程池a.  线程池返回结果b. ⾃定义线程池名称或优先级2. 带缓存的线程池3. 执⾏定时任务 a. 延迟执⾏(⼀次)  b. 固定频率执⾏4. 定时任务单线程5. 单线程线程池6. 根据当前CPU⽣成线程池7.&n ......
460
0
0
2023-04-20
目录简介Thread.stop被禁用之谜怎么才能安全捕获异常之后的处理总结简介工作中我们经常会用到线程,一般情况下我们让线程执行就完事了,那么你们有没有想过如何去终止一个正在运行的线程呢?今天带大家一起来看看。Thread.stop被禁用之谜问道怎么终止一个线程,可能大多数人都知道可以调用Thread.stop方法。但是这个方法从jdk1.2之后就不推荐使用 ......
315
0
0
2023-04-11
目录方法概览Threadwait notify notifyAll方法详解作用阻塞阶段唤醒阶段遇到中断代码展示特点通过wait notify方法实现生产者和消费者sleep方法详解sleep不会释放锁sleep响应中断总结join方法详解代码展示yield方法方法概览Threadwait notify notifyAll方法详解作用阻塞阶 ......
304
0
0
2023-04-05
文章目录Java 线程基础线程简介什么是进程什么是线程进程和线程的区别创建线程ThreadRunnableCallable、Future、FutureTaskCallableFutureFutureTaskCallable + Future + FutureTask 示例线程基本用法线程休眠线程礼让终止线程守护线程线程通信wait/notify/notify ......
302
0
0
2023-04-04
目录阻塞锁非阻塞锁锁的四种状态无锁状态偏向锁轻量级锁重量级锁可重入锁自旋锁读写锁互斥锁悲观锁乐观锁公平锁非公平锁显示锁和内置锁轮询锁和定时锁对象锁和类锁锁粗化锁消除信号量独享锁共享锁分段锁死锁案例和排查阻塞锁含义:多个线程同时调用一个方法的时候,所有的线程都被排队处理了,让线程进入阻塞状态进行等待,当获得相应的信号(唤醒、时间)时,才能进入线程的准备就绪的状 ......
306
0
0
2023-04-04
目录Java8锁SynchronizedReentrantLockAQSvolatile自旋锁 ,自旋锁的其他种类CAS 自旋锁CAS的实现原理首先强调一点:Java多线程的锁都是基于对象的,Java中的每一个对象都可以作为一个锁。同时,类锁也是对象锁,类是Class对象Java8锁核心思想关键字在实例方法上,锁为当前实例关键字在静态方法上,锁为当前Clas ......
265
0
0
2023-04-04
Java多线程一、介绍在了解线程之前,还需要简单了解进程的概念。简单的来说就是一心多用在生活之中,我们常常可以一心多用。我可以一边打游戏,一边放着音乐听听歌,甚至可以再泡个脚。没错,这也可以理解成我的多线程生活。而在计算机之中,也有以上同时进行的任务,这就可以叫做多线程,例如进程:比如说电脑上开着游戏,音乐等其他多款应用。这每一个应用姑且可以算作一个进程线程 ......
441
0
0
2023-03-27
目录1. 单例模式(singleton pattern)1.1 懒汉模式1.2 饿汉模式2 阻塞队列(blocking queue)2.1 阻塞队列2.2 生产者消费者模型2.3 标准库中的阻塞队列2.4 实现阻塞队列3. 定时器3.1 标准库中的定时器3.2 实现定时器4 线程池4.1 标准库中的线程池4.2 Executors 创建线程池的几种方式4.3 ......
320
0
0
2023-02-28
目录线程的共享synchronized内置锁错误的加锁和原因分析volatile,最轻量的同步机制ThreadLocal与 Synchonized的比较ThreadLocal的使用实现解析内存泄漏的现象分析引发的内存泄漏分析错误使用ThreadLocal导致线程不安全线程间的协作等待/通知机制等待和通知的标准范式notify 和 notifyAll 应该用谁 ......
316
0
0
2023-02-12
目录一 :问题背景二 :CompletableFuture介绍三 :具体场景1.0 单个任务1.0.1 runAsync:无返回值1.0.2 supplyAsync:有返回值1.0.3 supplyAsync:有返回值2.0 两个任务编排2.0.1 thenRunAsync2.0.2 thenAcceptAsync2.0.3 thenApplyAsync3. ......
365
0
0
2023-02-08
目录ThreadLocal作用简单例子局部变量、成员变量 、 ThreadLocal、静态变量共享 or 隔离原理源码分析TheadLocalTheadLocalMapThreadLocal与内存泄漏小结ThreadLocal作用对于Android程序员来说,很多人都是在学习消息机制时候了解到ThreadLocal这个东西的。那它有什么作用呢?官方文档大致是 ......
363
0
0
2023-02-03
目录何为线程安全的类?基于条件的同步策略状态发布与所有权实例封闭正确地拓展同步策略同步容器复合操作不受同步容器保护同步容器的迭代问题警惕隐含迭代的操作并发容器ConcurrentHashMapCopyOnWriteArrayList阻塞队列 & 生产者 — 消费者模式双端队列和工作窃取阻塞和中断方法同步工具类闭锁信号量栅栏在并行任务中构建高效的缓存何 ......
307
0
0
2023-01-31
线程池动态拓容创建线程池ThreadPoolExecutor taskExecutor = new ThreadPoolExecutor(8, 64, 5, TimeUnit.SECONDS, new LinkedBlockingQueue<>(256), new ThreadFactoryBuilder().setNameFormat("cus ......
316
0
0
2023-01-08
线程安全问题指的是多个线程操作同一个共享资源的时候可能会出现的线程安全问题银行取钱问题多个用户同时操作一个银行账户进行取钱操作,账户内余额为1000元,每个账户同时取出1000元,由于线程执行的随机性就会导致线程安全问题的产生银行账户类定义账户内容,定义取钱方法package ThreadSafety; //定义账户类 public class ......
335
0
0
2022-12-13