![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
多线程 / 并发 / 锁
文章平均质量分 60
--
兮家小二
傻傻的小男孩,qq:1720696548 wx:1720696548
展开
-
多线程-使用大全 基础使用 / 锁 / 线程池 / 原子类 / 并发包 / CAS / AQS (2022版)
一、多线程描述1、什么是cpuCPU的中文名称是中央处理器,是进行逻辑运算用的主要由运算器、控制器、寄存器三部分组成,运算器:从字面意思看就是运算就是起着运算的作用,控制器:就是负责发出cpu每条指令所需要的信息,寄存器:就是保存运算或者指令的一些临时文件,这样可以保证更高的速度。我们的线程运行在cpu之上的2、什么进程/线程一个cpu 可以同时启动多个进程, 一个进程可以插件多个线程进程: 比如我们使用电脑打开 qq, 就是一个进程, 在打开微信, 又会开启一个新的进程线程: 比原创 2022-03-21 08:29:13 · 586 阅读 · 0 评论 -
java 多线程获取返回值, 先执行中间的业务代码, 前代码和业务代码并行,在等业务前代码执行完毕后执行业务后的代码
示意图主线程: 绿色线,请求直接执行业务代码, 业务代码执行立即响应异步线程一: 记录请求日志异步线程二:获取记录请求日志返回的数据,在数据中在插入响应日志, (这里如果业务代码执行完毕了但线程一还在执行中, 就等待线程一执行完再执行线程二)1、定义线程池 /** * 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待 */ final ExecutorService fixedThreadPool = Executors.newFixedThrea原创 2020-10-30 21:28:28 · 1139 阅读 · 0 评论 -
多线程三种创建方式(基础使用)
常见api方法一: 继承Thread重写run方法 (extends Thread)方法二: 实现Runnable接口 (implements Runnable)方法三: lie名内部类直接创建线程基础api(具体看最后面)//Thread() 1.分配一个新的 Thread 对象//Thread(String name) ...原创 2019-04-14 21:01:59 · 312 阅读 · 0 评论 -
多线程实现任务分发----向10W用户发送祝福短信
单线程效率大家可想而知10W 数据如果一个线程每次发送每条短信需一秒,那得10W秒如果10个线程跑,那么10W / 10 =1w 秒 ,是不是快了非常多呢线程一般按电脑cpu 来决定需要开多少最好起CPU核心数量2 个线程或者 CPU核心数量2 +2 个线程有些业务设置为CPU核数的2倍有些业务设置为CPU核数的8倍有些业务设置为CPU核数的32倍思路步骤1.初始化用户数据2...原创 2019-04-14 21:34:32 · 2538 阅读 · 2 评论 -
线程池 及 volatile+AtomicInteger+threadLocal(原子性、可见性、有序性)
多线程有三大特性,原子性、可见性、有序性什么是原子性即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。一个很经典的例子就是银行账户转账问题:比如从账户A向账户B转1000元,那么必然包括2个操作:从账户A减去1000元,往账户B加上1000元。这2个操作必须要具备原子性才能保证不出现一些意外的问题。我们操作数据也是如此,比如i = i+1;其中就包括,...原创 2019-04-20 18:53:55 · 1167 阅读 · 0 评论 -
java 多线程定时器-——定时长任务(到时间单次执行) // 定时周期任务(间隔时间重复执行)
定时周期任务(间隔一定时间重复执行)/** * 0, timeout, TimeUnit.MILLISECONDS) * 0 表示延迟执行时间 * timeout 表示重复执行间隔时间 * TimeUnit.MILLISECONDS = 毫秒 (可自定义) */ public void checkValidityData(Long timeout){ //定期...原创 2019-09-17 20:56:43 · 2325 阅读 · 0 评论