多线程
文章平均质量分 80
Java多线程学习笔记
1uuue
这个作者很懒,什么都没留下…
展开
-
多线程详解(四)
类似生活中的公共交通工具。2)如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止。3)如果仓库中放有产品,则消费者可以将产品取走消费,否则停止消费并等待,直到仓库中再次放入产品为止。1)对于生产者,没有生产产品之前,要通知消费者等待,而生产了产品之后,又需要马上通知消费者消费。1)假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中的产品取走消费。2)对于消费者,在消费之后,需要通知生产者已经结束消费,需要生产新的产品以供消费。......原创 2022-08-02 13:41:30 · 190 阅读 · 0 评论 -
多线程详解(三)
多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形。某一个同步块同时拥有“两个以上对象的锁”时,就有可能发生"死锁"的问题。案例模拟死锁的发生//多个线程互相抱着对着需要的资源,然后形成僵持Makeupg1=newMakeup(0,"灰姑娘");Makeupg2=newMakeup(1,"白雪公主");}}//口红}//镜子}//化妆运行结果。......原创 2022-07-30 20:31:09 · 372 阅读 · 0 评论 -
多线程详解(二)
1)Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。一个线程可以在给定时间点处于一个状态,这些状态是不反映任何操作系统线程状态的虚拟机状态。4)waiting正在等待另一个线程执行特定动作的线程处于此状态。1)sleep(时间)指定当前线程阻塞的毫秒数【1000毫秒=1秒】Join合并线程,待此线程执行完成后,再执行其他线程,其他线程阻塞。1)礼让线程,让当前正在执行的线程暂停,但不阻塞。.........原创 2022-07-28 14:02:42 · 182 阅读 · 0 评论 -
静态代理模式&Lambda表达式
1.Lambda表达式当只有一行代码的情况下,才能简化成一行,即去{},如果有多行,则必须用代码块包裹2.前提是接口为函数式接口(只有一个方法的接口)3.多个参数也可以去掉参数类型,要去掉就都去掉,但必须加上括号httpshttps。.........原创 2022-07-26 23:34:25 · 151 阅读 · 0 评论 -
利用多线程解决龟兔赛跑问题
1.首先来个赛道距离,然后要离终点越来越近2.判断比赛是否结束3.打印出胜利者4.龟兔赛跑开始5.故事中是乌龟赢的,兔子需要睡觉,所以我们来模拟兔子睡觉6.终于,乌龟赢得比赛原创 2022-07-22 20:16:21 · 249 阅读 · 0 评论 -
多线程详解(一)
4)在一个进程中,如果开辟了多个线程,线程的运行由调度器安排调度,调度器是与操作系统紧密相关的,先后顺序是不能人为的干预的。2)在程序运行时,即使没有自己创建线程,后台也会有多个线程,如主线程,gc线程。问题存在多个线程操作统一资源---->线程不安全,数据紊乱。3)推荐使用避免单继承局限性,灵活方便,方便同一个对象被多个线程使用。3)main()称之为主线程,为系统的入口,用于执行整个程序。6)线程会带来额外的开销,如cpu调度时间,并发控制开销。.........原创 2022-07-22 20:57:06 · 278 阅读 · 0 评论