Striped64类 Striped64是java1.8 juca中新增的多个计数器类的基础类。它的基本思想其实与并发数据结构的发展息息相关: 最原始的并发数据结构使用粗粒度的阻塞锁。如HashTable,直接将并行转换为串行,性能很差。 然后的想法是改进锁的粒度,仍然使用阻塞锁,但对加锁范围进行限 ...
分类:
其他好文 时间:
2018-08-08 21:25:05
阅读次数:
109
为什么用线程池? 1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处-理效率 2.线程并发数量过多,抢占系统资源从而导致阻塞 3.对线程进行一些简单的管理 在Java中,线程池的概念是Executor这个接口,具体实现为ThreadPoolExecutor类,学习Java ...
分类:
编程语言 时间:
2018-08-08 13:47:43
阅读次数:
201
一、类图 二、主要方法 先看ConcurrencyThrottleInterceptor.java类的源码: 看该拦截器中的invoke()方法中,在执行目标方法的前后分别执行beforeAccess()和 afterAccess()方法, 在beforeAccess方法中通过内部计数器concur ...
分类:
编程语言 时间:
2018-08-07 13:16:35
阅读次数:
273
为什么用线程池? 创建线程需要较大的系统开销;可以有效的控制线程最大并发数;可以对线程进行一些简单的管理(例如:延时执行、定时循环执行的策略) 常见的四种线程池 fixThreadPool 有核心线程,固定的线程数量,响应的速度快。 caCheThreadPool 只有非核心线程,最大线程数很大(I ...
分类:
编程语言 时间:
2018-08-05 11:57:23
阅读次数:
151
java 有四种线程池 1、可缓存线程池 newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收 2、定长线程池 可控制最大并发数 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待 ...
分类:
编程语言 时间:
2018-07-31 19:19:20
阅读次数:
155
1 多线程执行 如果要并发执行N次,建议将并发数拆分成n次,每个线程循环执行n次函数,这样在启动下一个线程的时候,上一个线程已经在循环执行了。 2 守护线程 上面创建的线程是main()线程的子线程,即先启动主线程main(),然后执行thd自动子线程。 守护线程则是在主线程执行完后,所有的子线程都 ...
分类:
其他好文 时间:
2018-07-29 16:29:15
阅读次数:
146
TPS(Transactions Per Second):每秒事务数 QPS(Query Per Second):每秒请求数,QPS其实是衡量吞吐量的一个常用指标,就是说服务器在一秒的时间内处理了多少个请求。 并发数:并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力。 峰值QPS: ...
分类:
其他好文 时间:
2018-07-26 19:53:27
阅读次数:
151
课程简介学习Python爬虫开发数据采集程序啦!网络编程,数据采集、提取、存储,陷阱处理……一站式全精通!!!目标人群掌握Python编程语言基础,有志从事网络爬虫开发及数据采集程序开发的人群。学习目标了解Web前端,熟悉HTTP,系统学习Pythonurllib库HTTP编程模块,requests网络编程库,BeautifulSoup4HTML转换解析,并发数据采集、提取、存储,熟悉Seleni
分类:
数据库 时间:
2018-07-26 16:16:50
阅读次数:
220
前言 在我们进行开发的时候,为了充分利用系统资源,我们通常会进行多线程开发,实现起来非常简单,需要使用线程的时候就去创建一个线程(继承Thread类、实现Runnable接口、使用Callable和Future),但是这样也有一点问题,就是如果并发的线程数量很多,创建线程、销毁线程都是需要消耗时间、 ...
分类:
编程语言 时间:
2018-07-20 23:40:12
阅读次数:
327
Admin监控应用 Spring Boot提供的监控接口,例如:/health、/info等等,实际上除了之前提到的信息,还有其他信息业需要监控:当前处于活跃状态的会话数量、当前应用的并发数、延迟以及其他度量信息。下面我们来了解如何使用spring-boot-admin来监控我们的系统。 admin ...
分类:
编程语言 时间:
2018-07-20 11:31:47
阅读次数:
173