![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
狂神说JAVA 多线程
我跟着b站狂神说学习的过程
seekray
这个作者很懒,什么都没留下…
展开
-
线程的协作
生产者 消费者问题两条线程一条作为生产者 一条作为消费者 生产者生产出产品,产生的产品放在缓存区之中继承Object 的两个方法 wait() notify() 对应的线程通信的使用 一个是让线程进行等待 另一个是唤醒线程具体生产者 消费者问题的解决方案测试类 生产者 消费者 产品 缓冲区...原创 2021-07-15 16:00:45 · 54 阅读 · 0 评论 -
JAVA中的JUC类学习
JUC类型是一个线程安全类型其中需要使用synchronized关键字实现的类 此刻并不需要CopyOnWriteArrayList --》线程安全的列package Thread.JUC;import java.util.concurrent.*;//JUC包属于并发包 多个public class TestJUC { public static void main(String[] args) throws InterruptedException { //创建一.原创 2021-07-14 17:20:07 · 154 阅读 · 0 评论 -
死锁的相关介绍
死锁的概念性多个线程互相抱着对方需要的资源,形成僵持的局面举个死锁的例子package Thread;//测试死锁public class Lock {}class Lipstick {}class Mirror { public static void main(String[] args) { Makeup m = new Makeup(1,"mm"); Makeup n = new Makeup(0,"nn"); m.原创 2021-07-14 16:42:46 · 48 阅读 · 0 评论 -
线程同步问题
什么是线程同步呢?线程同步指的是多个线程操作同一个对象 ,如果不进行线程同步 将会报错具体错误是 由于内存存储空间中一块内存中存储的信息保持在同一时刻保持一致,但是被取走后信息会更新,多个线程对于同一个对象进行操作后会导致重复错误举个粒子银行里面有100块钱 ,A,B 都看见有余额为100,都想取钱。但是取钱有先来后到之说,不能够被取成负数A取走了100块,同一时刻,B以为还有100,就取100块,因为内存是同一块所以会变成-100元 出现卡bug,为了不让银行亏钱,就需要线程同步 讲究.原创 2021-07-14 14:52:26 · 339 阅读 · 0 评论 -
关于线程的状态
线程的状态有哪一些?线程的状态 被保存在 一个枚举类型之中即保存在Thread.State之中package Thread;public class ThreadState { public static void main(String[] args) { Runnable run = ()->{ for (int i = 0; i < 2; i++) { try { .原创 2021-07-12 14:12:08 · 52 阅读 · 0 评论 -
守护线程学习
关于守护线程线程对应的分为用户线程与守护线程两种线程两种线程的区别点在于关键字Daemon虚拟机必须保证用户线程执行完毕至于守护线程 虚拟机不必等待守护线程执行完毕在用户线程执行完毕后续就可以结束虚拟机的执行垃圾回收线程GC就属于守护线程的范畴之中以下是我的测试代码部分package Thread;//学习过程中提出的两个问题如下//守护线程的作用是什么?//为什么要设置两个类型 一个God 一个You呢?public class Daemon { //创建守护线程 .原创 2021-07-12 14:11:46 · 58 阅读 · 0 评论 -
关于线程的优先级
线程的优先级常量MAX_PRIORITY 最高优先级 使用数字10表示MIN_PRIORITY 最低优先级 使用数字1表示优先级NOR_PRIORITY 默认优先级 使用数字5 表示默认的优先级关于线程优先级的设置有关于优先级的设置 需要在线程启动之前进行设置优先级才能够有效 如果启动后再讨论有限级就没有意义可言package Thread;public class TestPRIORITY { public static void main(String[] ar.原创 2021-07-12 13:42:47 · 445 阅读 · 0 评论 -
JAVA多线程Join
Join相当于插队的操作主线程 和 分线程 属于并发线程 算是多个线程对象 如果使用Join使得一个线程优先执行其余阻塞状态,待执行完毕后,其他的才能够执行package Thread;public class TestJoin implements Runnable{ @Override public void run() { for (int i = 0; i < 200; i++) { System.out.println(".原创 2021-07-11 23:40:18 · 201 阅读 · 0 评论 -
线程休眠Sleep
线程的休眠Sleep线程的休眠最重要的作用是 模拟网络延时和 进行实践倒计时网络延时的是实现 模拟抢票系统 多个线程操作同一个对象关于多个线程对同一个对象的操作第一步是创建线程对象后续是不断创建新的线程来对这个线程对象来进行操作对同一个线程进行操作package Study.Test.Lambda;public class Ticket implements Runnable{ private int num=10; @Override pu.原创 2021-07-11 15:51:44 · 160 阅读 · 0 评论 -
关于线程的Stop
关于线程的Stop提前需知我们需要知道的JDK官方给出的stop和destroy() 两个方法是有漏洞的不建议使用使用标志位置来判定 JAVA的线程是否应该停止使用次数设置来令标志位来进行改变package Study.Test.Lambda;public class TestStop implements Runnable{ private boolean flag = true;//设置标志位来进行需求判断 @Override public void run(.原创 2021-07-11 14:51:06 · 79 阅读 · 0 评论 -
关于Lambda表达式的学习使用过程
Java中接口的实现类 是不断地简化的一个过程 Lambda表达式几乎是最简单的方式对应的代码阐述Lambda表达式的由来与必要条件顺序是从 外部类-》静态内部类-》局部内部类-》匿名内部类-》Lambda表达式必要条件之一是接口为函数式接口 接口中一个函数 比如说Runnable接口 只有一个run方法Lambda表达式无参实现方法package Study.Test.Lambda;public class LambdaTest { //静态内部类 sta.原创 2021-07-11 14:17:48 · 82 阅读 · 0 评论