自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 java多线程学习2:线程的生命周期监听-Observer模式

1先说说这个Observer模式 常说的观察者模式或listener模式。 常用的就是MQ中的消息接收监听、spring/spring mvc中的容器刷新监听等待。用一句话来说,注册自己感兴趣的事件源。下面画个uml图 简陋一点 但有内涵。观察者:关注自己的业务,等待事件出发事件:触发后,主动调用观察者在工作中.observer模式能解决很多的问题,比如说状态变化的监控、...

2018-04-26 20:09:30 761

原创 java多线程设计模式1:读写锁模式

关于读写锁模式需要明白几个要素 1、写:当前没有写操作,以及没有读操作 2、读:当前没有写操作package com.puqiuyu.thread.blog.pattern;/** * * * @author sunday * */public class WriteAndReadLock { // 正在写的线程 private int writings...

2018-04-22 23:05:34 141

原创 java多线程设计模式大纲

1、读写锁模式 2、门模式 3、Observer模式 4、挂起模式 5、balking模式 6、生产者消费者模式 7、Future模式 8、two phase模式 9、work thread 模式 9、activeobject模式...

2018-04-22 22:01:41 160

原创 java多线程学习6:自己实现一个线程池

线程池需要哪些元素: 1、任务队列,做任务的异步提交 2、核心线程数、最大线程数 3、拒绝策略 4、线程工厂基本上的思路就是,任务队列提交任务,线程通过任务队列获取任务。 任务队列堆积新增工作线程,定期检测活跃线程。 任务满了,提供拒绝策略下面是一个简单的实现:package com.puqiuyu.thread.blog;/** * 实现一个线程池要哪些东西 * 1...

2018-04-22 21:42:08 248

原创 JAVA多线程学习5:自己实现一个boolean锁

一个简单的锁 提供一个禁戒值,表示当前锁占用情况。定义一个lock接口package com.puqiuyu.thread.blog;/** * 简单实现下就行 * @author sunday * */public interface Lock { void lock() throws InterruptedException; void unlock()...

2018-04-22 17:33:02 724

原创 java多线程学习4:wait、notify、notifyall。生产者消费者实例

大纲:1、wait2、notify3、notifyall4、wait和sleep的区别5、单一生产者消费者代码6、多生产者消费者代码wait 官方文档太多。总结为下面几点 1、调用wait方法必须要有monitor。这个monitor就是synchorized中的那个。 2、调用wait后,当前线程会进去wait set(线程休息室)并释放当前锁占用。直到thismonito...

2018-04-22 16:49:50 244

原创 java多线程学习3:如何结束一个线程

现在的jdk已经弃用了,stop方法。那么我们怎么结束一个线程呢。先写一个实现:Thread t = new Thread(()->{ while(Thread.interrupted()) { return; } }); t.start(); t.in...

2018-04-07 11:50:12 175

原创 java多线程学习2:sleep、join、interrupt学习

大纲在前:1、deamon的使用补充。2、sleep3、interrupt、isInterrupt、interrupted.4、joindeamon的使用补充 学习1中已经说了,守护线程会在所有用户线程结束后死亡同时jvm退出。 如何利用deamon的这个特点呢。 维护一个server的心跳,当心跳失效,那么业务线程就没必要存在了。此时可以将业务线程设为deamon。sl...

2018-04-06 23:50:57 212

原创 java多线程学习1:线程基本api介绍

第一篇博文,说说为什么要写。 今天面了一个人,感觉他的知识不成体系,全靠零零碎碎的杂糅在一起。 所以,我要总结一下所学,构建知识网络。1、生命周期 新建:new thread(); 就绪:调用thread的start()方法,此为可运行状态。 running:当前线程抢到cpu执行权,正在运行。 blocked:堵塞状态,放弃当前cpu执行权。 ...

2018-04-06 13:42:03 257

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除