摘要: Semaphore信号量通常做为控制线程并发个数的工具来使用,它可以用来限制同时并发访问资源的线程个数。 一、Semaphore使用 下面我们通过一个简单的例子来看下Semaphore的具体使用,我们同时执行10个计数线程,并定义一个Semaphore变量用来控制并发值,同一时间只允许两个线程并发执 阅读全文
posted @ 2019-07-06 18:06 DaFanJoy 阅读(973) 评论(0) 推荐(0) 编辑
摘要: 一、CyclicBarrier使用 CyclicBarrier从字面上可以直接理解为线程运行的屏障,它可以让一组线程执行到一个共同的屏障点时被阻塞,直到最后一个线程执行到指定位置,你设置的执行线程就会触发运行;同时CyclicBarrier相比与CountDownLatch,它是可以被重置的;下面我 阅读全文
posted @ 2019-06-30 18:27 DaFanJoy 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 在过去我们实现多线程同步的代码中,往往使用join()、wait()、notiyAll()等线程间通信的方式,随着JUC包的不断的完善,java为我们提供了丰富同步工具类,官方也鼓励我们使用工具类来实现多线程的同步,今天我们就对其中CountDownLatch类的使用与底层实现进行分析与总结。 一、 阅读全文
posted @ 2019-06-28 20:56 DaFanJoy 阅读(743) 评论(0) 推荐(0) 编辑
摘要: 前面两篇文章Netty源码分析之NioEventLoop(一)—NioEventLoop的创建与Netty源码分析之NioEventLoop(二)—NioEventLoop的启动中我们对NioEventLoop的创建与启动做了具体的分析,本篇文章中我们会对NioEventLoop的具体执行内容进行分 阅读全文
posted @ 2019-06-11 22:04 DaFanJoy 阅读(995) 评论(0) 推荐(2) 编辑
摘要: 前面我们在java线程池ThreadPoolExecutor类使用详解中对ThreadPoolExector线程池类的使用进行了详细阐述,这篇文章我们对其具体的源码进行一下分析和总结; 首先我们看下ThreadPoolExecutor用来表示线程池状态的核心变量 ThreadPoolExecutor 阅读全文
posted @ 2019-05-29 21:34 DaFanJoy 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 在SpringBoot框架中,注解做为一种隐式配置,极大的简化了之前xml文件的配置方式。SpringBoot中包含许多种类的注解,这里对在SpingBoot项目中经常使用到的一些注解的进行大致的归纳总结; 一、启动相关 1、@SpringBootApplication 在SpirngBoot启动类 阅读全文
posted @ 2019-05-16 18:52 DaFanJoy 阅读(611) 评论(0) 推荐(0) 编辑
摘要: 上篇文章中我们对Netty中NioEventLoop创建流程与源码进行了跟踪分析。本篇文章中我们接着分析NioEventLoop的启动流程; Netty中会在服务端启动和新连接接入时通过chooser选择器,分别为NioServerSocketChannel与NioSocketChannel选择绑定 阅读全文
posted @ 2019-03-23 15:13 DaFanJoy 阅读(1053) 评论(0) 推荐(2) 编辑
摘要: 一、NioEventLoop的概述 NioEventLoop做为Netty线程模型的核心部分,从本质上讲是一个事件循环执行器,每个NioEventLoop都会绑定一个对应的线程通过一个for(;;)循环来处理与 Channel 相关的 IO 操作, 包括 调用 select 等待就绪的 IO 事件、 阅读全文
posted @ 2019-03-10 22:44 DaFanJoy 阅读(3338) 评论(0) 推荐(1) 编辑
摘要: 一、基本介绍 ArrayBlcokingQueue,LinkedBlockingQueue是jdk中内置的阻塞队列,网上对它们的分析已经很多,主要有以下几点: 1、底层实现机制不同,ArrayBlcokingQueue是基于数组的,LinkedBlockingQueue是基于链表的; 2、初始化方式 阅读全文
posted @ 2019-02-03 19:00 DaFanJoy 阅读(3229) 评论(1) 推荐(0) 编辑
摘要: 最近开发网关服务的过程当中,需要用到kafka转发消息与保存日志,在进行压测的过程中由于是多线程并发操作kafka producer 进行异步send,发现send耗时有时会达到几十毫秒的阻塞,很大程度上上影响了并发的性能,而在后续的测试中发现单线程发送反而比多线程发送效率高出几倍。所以就对kafk 阅读全文
posted @ 2019-01-20 00:16 DaFanJoy 阅读(16212) 评论(3) 推荐(6) 编辑
点击右上角即可分享
微信分享提示