JUC并发
文章平均质量分 91
JUC并发
林小鹿@
后端开发,热衷于算法,每日更新高质量算法题解。
展开
-
多线程详解第3讲:线程状态
线程状态目录线程状态1、 五大状态2、线程方法3、停止线程4、线程休眠5、线程礼让6、Join7、线程状态观测8、线程优先级9、守护(daemon)线程1、 五大状态五大状态线程状态转换2、线程方法3、停止线程停止线程不推荐使用JDK提供的 stop()、 destroy()方法。【已废弃】推荐线程自己停止下来建议使用一个标志位进行终止变量 ,当flag=false,则终止线程运行。代码package com.kaung.state;public class Test原创 2021-04-23 18:13:29 · 5939 阅读 · 0 评论 -
多线程详解第4讲:线程同步(重点)
线程同步这里写目录标题线程同步1、并发并发 :2、线程同步机制3、三大不安全案例4、同步方法5、同步块6、CopyOnWriteArrayList7、死锁8、Lock(锁)9、synchronized 与 Lock 的对比1、并发并发 :同一个对象被多个线程同时操作2、线程同步机制线程同步现实生活中,我们会遇到 ” 同一个资源 , 多个人都想使用 ” 的问题 , 比如,食堂排队打饭 , 每个人都想吃饭 , 最天然的解决办法就是 , 排队 ,一个个来。处理多线程问题时 , 多个线程访原创 2021-04-23 18:13:47 · 6016 阅读 · 0 评论 -
多线程详解第2讲:线程实现(重点)
线程实现(重点)1、三种创建方式2、Thread学习提示:查看JDK帮助文档步骤自定义线程类继承Thread类重写run()方法,编写线程执行体创建线程对象,调用start()方法启动线程代码package com.kaung.demo01;import java.awt.event.ItemEvent;//创建线程的方式一:继承Thread,重写run()方法,调用start开启线程//总结 :注意 ,线程开启不一定立即执行,由cpu调度执行publ原创 2021-04-23 18:12:58 · 6079 阅读 · 1 评论 -
多线程详解第5讲:线程协作
线程协作这里写目录标题线程协作1、线程通信2、线程通信分析3、解决方式14、解决方式25、使用线程池1、线程通信应用场景 : 生产者和消费者问题假设仓库中只能存放一件产品 , 生产者将生产出来的产品放入仓库 , 消费者将仓库中产品取走消费如果仓库中没有产品 , 则生产者将产品放入仓库 , 否则停止生产并等待 , 直到仓库中的产品被消费者取走为止如果仓库中放有产品 , 则消费者可以将产品取走消费 , 否则停止消费并等待 , 直到仓库中再次放入产品为止2、线程通信分析这是一个线程同步问题原创 2021-04-23 18:14:11 · 5815 阅读 · 0 评论 -
多线程详解第1讲:线程简介
此笔记为 【狂神说Java】多线程详解 听课笔记 B站视频链接 【狂神说Java】多线程详解 ,狂神讲解的多线程非常通俗易懂,建议大家可以配合此笔记听课。线程简介1、多任务现实中太多这样同时做多件事情的例子了,看起来是多个任务都在做,其实本质上我们的大脑在同一时间依旧只做了一件事情。2、多线程原来是一条路,慢慢因为车太多了,道路堵塞,效率极低。为了提高使用的效率,能够充分利用道路,于是加了多个车道。从此,妈妈再也不用担心道路堵塞了。3、普通方法调用和多线程4、程序.进程.线程.原创 2021-04-23 18:13:09 · 5788 阅读 · 0 评论 -
怎样才是正确的线程启动方式?
目录1、start()和run()的比较2、start()方法原理解读2.1、start()方法含义2.2、start()源码解析3、run()方法原理解读4、启动线程——常见面试问题1、start()和run()的比较代码演示:package threadcoreknowledge.startthread;/** * 描述: 对比start和run两种启动线程的方式 */public class StartAndRunMethod { public static void m.原创 2022-05-31 10:14:08 · 8735 阅读 · 18 评论 -
实现多线程的方法到底有1种还是2种还是4种?
目录1、Oracle官网的文档是如何写的?2、两种方法的对比3、思考题:同时用两种方法会怎么样?4、总结:最精准的描述5、典型错误观点分析6、典型错误观点总结7、实现多线程——常见面试问题1、Oracle官网的文档是如何写的?方法一:实现Runnable接口方法二:继承Thread类实现Runnable接口package threadcoreknowledge.createthreads;/** * 描述: 用Runnable方式创建线程 */public class Runnab.原创 2022-05-30 09:20:25 · 5822 阅读 · 20 评论