
多线程
大雄小方
想回到过去,试着让故事继续...
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线程池学习总结
线程池学习总结什么是线程池?线程池是一种多线程处理形式,处理过程中将任务提交到线程池,任务的执行交由线程池来管理。如果每个请求都创建一个线程去处理,那么服务器的资源很快就会被耗尽,使用线程池可以减少创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。线程池状态:RUNNING:运行状态,这个状态下可以接受任务来处理SHUTDOWN:待关闭状态,这个状态下不会在接受...原创 2019-04-29 22:22:06 · 155 阅读 · 0 评论 -
各种锁学习总结
各种锁学习总结原创 2019-04-30 22:28:45 · 218 阅读 · 0 评论 -
AQS与ReentrantLock学习总结
AQS与ReentrantLock学习总结lock与synchronize区别?什么是AQS?队列同步器,维护一个双向链表队列和一个同步状态stateReentrantLock的独占锁和分享锁独占锁的实现:判断当前线程的前一个线程是否头节点(是否获取锁),是的话就自旋尝试获取锁,不是的话就会判断SINGAL,判断是否为等待唤醒状态,是的话就不阻塞,不是的话就阻塞。学习文章:http:/...原创 2019-04-30 22:37:08 · 344 阅读 · 0 评论 -
NIO学习总结
NIO学习总结NIO是一种提高服务器处理连接数量的一种模式,在处理高并发场景有很大的作用,来总结一下关于它的一些原理。首先要认识一下关于系统几种不同的IO模式:同步阻塞IO同步非阻塞IOIO多路复用信号驱动式IO异步IO此处总结:阻塞、非阻塞是面向调用者的,而同步、异步是面向被调用者的。IO多路复用使用select/poll/epoll函数,多个进程的IO都可以注册在同...原创 2019-05-15 22:43:37 · 164 阅读 · 0 评论 -
对象锁和类锁问题实验
对象锁和类锁问题实验今天遇到了一个问题,就是当获取到类锁时还能获取到该类的对象锁吗?实验一都是获取类锁,显然会实现同步public class Solution { /*实验结果 获得类锁,睡觉zzz 起床... 获得对象锁 */ public static void main(String[] args) { Solution s = new Solution(); ...原创 2019-05-24 22:50:56 · 161 阅读 · 0 评论 -
Java线程同步-生产者消费者
Java线程间通信实践-生产者消费者设计一个容器,生成者往里面加物品,消费者往里面拿物品。很显然,这个容器需要一个同步机制,可以使用synchronized或者lock这里我在生产者put的时候判断容器是否满了,而在消费这get时判断容器是否为空。注意:这里使用wait时要注意要和while配合使用,防止并发情况下出现错误使用notifyAll而不是使用notify,防止同类唤醒一个同...原创 2019-06-06 17:42:01 · 261 阅读 · 0 评论 -
后台开发之设备通信
后台开发之设备通信最近接手了一个智能零售柜的项目,负责JAVA后台开发,在熟悉项目过程学习到了很多东西,从项目的框架设计也感受到了框架设计的艺术,比如拦截器、监听器、测试Mock模拟设备(mqtt协议)…还有许许多多可以吸收理解的,比如通过Mybatis plus实现自动生成文件功能、通过Shell脚本来提高开发效率…今天先记录下关于后台与设备通信之间的一些要注意的点。MQTT协议要实现后...原创 2019-07-28 23:46:04 · 1041 阅读 · 0 评论 -
Netty实现websocket
Netty实现websocket项目中有一个需求,就是能够让服务端主动向客户端发送通知信息,大致过程如下门柜设备开门成功 -》返回开门成功信息给服务端 -》服务端返回ACK确认 -》服务端同时通知小程序用户开锁成功信息…由于需要服务端主动向客户端发送信息,这里可以使用websocket来实现,下面就来实现一个基于websocket的服务器的基本建立过程(这里使用的时Netty,其基于NIO,...原创 2019-08-05 00:03:58 · 806 阅读 · 0 评论