并发编程(十一)自定义线程池


线程池核心要点包装任务:将任务转移给自己创建的线程中执行阻塞队列:将无法立即处理的任务放入阻塞队列,等待空闲线程执行代码实现publicclassMyThreadPoolExecutorimplementsExecutor{privateAtomicIntegernumber=newAtomicIn

并发编程(十)线程池核心原理与源码剖析


线程池的状态RUNNING:能够接收新任务,以及对新加的任务进行任务,创建线程池的默认状态。SHUTDOWN:不在接收新任务,会继续处理完正在处理的任务和阻塞队列中的任务,调用shutdown()更改状态。STOP:不在接收新任务,不在处理阻塞队列中的任务,并中断线程池中正在处理的任务,调用shut

并发编程(九)Queue


写时复制ListCopyOnWriteArrayListpublicclassCopyOnWriteArrayListTest{publicstaticvoidmain(String[]args)throwsInterruptedException{List<Integer>list=n

Netty(四)Netty弹幕系统实战


弹幕系统系统特点实时性高并发量大弱一致性架构设计Netty代码实现ServerpublicclassWebsocketDanmuServer{privateintport;publicWebsocketDanmuServer(intport){this.port=port;}publicvoidru

Netty(三)Netty线程模型源码剖析


Netty线程模型源码剖析Netty高并发高性能架构设计精髓主从Reactor线程模型NIO多路复用非阻塞无锁串行化设计思想支持高性能序列化协议零拷贝(直接内存的使用)ByteBuf内存池设计灵活的TCP参数配置能力并发优化无锁串行化设计思想在大多数场景下,并行多线程处理可以提升系统的并发性能。但是