![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
Mordle_
知道的越多,不知道的越多
展开
-
创建线程三种方法总结
package Thread.Thread3;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.Future;import java.util.concurrent.FutureTask;public class ThreadTest { public static void main(String[] args)原创 2021-10-22 20:36:53 · 55 阅读 · 0 评论 -
线程通信+线程池
线程通信生产者消费者问题解决方式生产者消费者问题这是一个线程同步问题,生产者和消费者共享同一个资源,并且生产者二号消费者之间相互依赖,互为条件。 在生产者消费者问题中,仅有synchronized是不够的 synchronized可阻止并发更新同一个共享资源,实现了同步 synchronized不能用来实现不同线程之间的消息传递(通信)Java提供了几个方法解决线程之间的通信问题方法名作用wait()表示线程一直等待,知道其他线程通知,与sleep不同(不释放锁),会释放锁原创 2021-10-22 20:18:45 · 143 阅读 · 0 评论 -
线程同步+锁
线程同步含义形成条件:队列+锁锁含义处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象,这是后我们就需要线程同步,线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面线程使用完毕,下一个线程再使用。形成条件:队列+锁锁由于同一进程的多个线程共享同一块存储空间,在带来方便的同时,也带来了访问冲突问题,为了保证数据在方法中被访问时的正确性,在访问时加入锁机制synchronized,当前一个线程获得对象的排它锁,独占资源,其他线程必须等待原创 2021-10-20 21:22:03 · 476 阅读 · 0 评论 -
守护(daemon)线程
守护线程含义测试含义线程分为用户线程和守护线程虚拟机必须确保用户线程执行完毕虚拟机不用等待守护线程执行完毕如,后台记录操作日志,监控内存,垃圾回收等待。。测试package com.Thread;public class ThreadDaemon { public static void main(String[] args) { //创建用户线程 God god =new God(); You you=new You();原创 2021-10-18 15:08:59 · 49 阅读 · 0 评论 -
线程优先级
线程优先级1.含义2. 默认优先级3.使用方法4.注意5.测试1.含义java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行,默认都是5。2. 默认优先级线程的优先级用数字表示,范围从1-10Thread.Min_PRIORITY=1;Thread.Max_PRIORITY=10;Thread.NORM_PRIORITY=5;3.使用方法getPriority()setPriority(int xxx)优先级的设定建议在原创 2021-10-18 14:16:12 · 137 阅读 · 0 评论 -
线程的5种状态
线程方法线程休眠(sleep)线程礼让(yield)线程强制执行(join)观测线程状态new-》就绪状态 -》运行状态-》阻塞状态-》dead线程休眠(sleep)模拟网络延时,放大问题的发生性import java.text.SimpleDateFormat;import java.util.Date;public class SleepTest { public static void main(String[] args) { //获取系统当前时间原创 2021-10-17 21:01:12 · 78 阅读 · 0 评论 -
代理模式介绍
代理模式1.介绍2.静态代理2.1优缺点2.2结婚案例1.介绍代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。2.静态代理2.1优缺点优点:可以在不修改目标对象的前提下扩展目标对象的功能。缺点:冗余。由于代理对象要实现与目标对象一致的接口,会产生过多的代理类。不易维护。一旦接口增加方法,目标对象与代理对象都要进行修改。2.2结婚案例lass StaticProxy{ pub原创 2021-10-16 16:07:08 · 58 阅读 · 0 评论 -
并发问题之龟兔赛跑
为了方便理解,自己敲了一边代码,记录 b站 狂神笔记。/*多线程方法1:继承Thread类,重写run()方法,调用start方法方法2.实现Runnable接口,重写run()方法,new一个Thread方法,放进Runnable的对象,调用start方法一般推荐第二种,能通过继承实现多个对象的同步 *///龟兔赛跑小案例public class ThreadTest implements Runnable{ String winner; @Override p原创 2021-10-14 19:56:46 · 68 阅读 · 0 评论