目录 JDK的Atomic原子操作类实现机制 通过JDK源码,品AtomicXXXFieldUpdater原子更新器及其优势 品Netty源码,学习原子更新的最佳实现方式 本篇文章大概3300字,阅读时间大约15分钟 如果仔细阅读过Netty的线程调度模型的源码,或者NIO线程对象及其线程池的创建源 ...
分类:
其他好文 时间:
2020-04-07 09:33:54
阅读次数:
92
微服务框架 微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。 以往我们开发应用程序都是单体型,虽然 ...
分类:
Web程序 时间:
2020-04-06 15:27:09
阅读次数:
104
java线程池的一些简单功能,后续会更新,代码不多,很好理解 package com.rbac.thread; import java.util.ArrayList; import java.util.List; import java.util.concurrent.BlockingQueue; ...
分类:
编程语言 时间:
2020-04-06 13:58:57
阅读次数:
75
1.在Tomcat服务中一个用户请求都是一个线程 所以使用线程池提高性能 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后创建线程后自动这些任务,线程池线程都是后台线程,每个线程都是用默认的堆栈大小。 什么情况下使用线程池 单个任务处理时间短 将需处理的任务数量大 2.Tomcat优化 ...
分类:
编程语言 时间:
2020-04-06 13:53:19
阅读次数:
72
如何优雅的关闭Java线程池 面试中经常会问到,创建一个线程池需要哪些参数啊,线程池的工作原理啊,却很少会问到线程池如何安全关闭的。 也正是因为大家不是很关注这块,即便是工作三四年的人,也会有因为线程池关闭不合理,导致应用无法正常stop的情况,还有出现一些报错的问题。 本篇就以ThreadPool ...
分类:
编程语言 时间:
2020-04-06 09:29:22
阅读次数:
120
等待唤醒机制 1.1 线程间通信 概念: 多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。 比如:线程A用来生成包子的,线程B用来吃包子的,包子可以理解为同一资源,线程A与线程B处理的动作,一个是生产,一个是消费,那么线程A与线程B之间就存在线程通信问题。 为什么要处理线程间通信: ...
分类:
编程语言 时间:
2020-04-05 00:34:54
阅读次数:
73
线程池1. 第四种获取线程的方法:线程池,一个 ExecutorService,它使用可能的几个池线程之 一执行每个提交的任务, 通常使用 Executors 工厂方法配置。 2. 线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在 执行大量异步任务时提供增强的性能,并且还可以 ...
分类:
编程语言 时间:
2020-04-04 20:50:49
阅读次数:
71
Executors.newSingleThreadExecutor(): 只有一个线程的线程池,因此所有提交的任务是顺序执行 Executors.newCachedThreadPool(): 线程池里有很多线程需要同时执行,老的可用线程将被新的任务触发重新执行, 如果线程超过60秒内没执行,那么将被 ...
分类:
编程语言 时间:
2020-04-04 09:34:06
阅读次数:
68
线程池 2.1 线程池思想概述 我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就 ...
分类:
编程语言 时间:
2020-04-03 23:47:43
阅读次数:
87
ThreadPool的基本功能在Percona 8.0里面没有太大的变化,只不调用的方式有变化,这里只介绍threadpool插件的初始化过程和调用过程。 threadpool本身的逻辑可以参考: "MariaDB · 源码分析 · thread pool" "Percona 5.7线程池源码分析" ...
分类:
其他好文 时间:
2020-04-03 18:26:24
阅读次数:
62