```javaimport java.util.concurrent.atomic.AtomicInteger;/** * @author zerodsLyn * created on 2020/5/10 */public class MultiThreadSerialPrint { private... ...
分类:
编程语言 时间:
2020-05-10 19:38:56
阅读次数:
98
为什么需要线程池 我们有两种常见的创建线程的方法,一种是继承Thread类,一种是实现Runnable的接口,Thread类其实也是实现了Runnable接口。但是我们创建这两种线程在运行结束后都会被虚拟机销毁,如果线程数量多的话,频繁的创建和销毁线程会大大浪费时间和效率,更重要的是浪费内存。那么有 ...
分类:
编程语言 时间:
2020-05-08 10:15:27
阅读次数:
71
线程池的状态 RUNNING:接收新的任务,执行阻塞队列中的任务 SHUTDOWN:不接受新任务,但是仍然可以处理阻塞队列中的任务 STOP:不接受新任务,不处理阻塞队列中的任务,中断正在处理的任务 TIDYING:所有任务已终止,workerCount(工作线程数等于0),进入TIDYING状态将 ...
分类:
编程语言 时间:
2020-05-05 23:37:13
阅读次数:
94
目录: 1、volatile 关键字与内存可见性 什么是内存可见性:当多个线程操作共享数据时,彼此不可见。 demo:测试线程数据没有及时与主内存数据进行同步 package com.oy; public class TestVolatile { public static void main(St ...
分类:
编程语言 时间:
2020-05-05 20:07:39
阅读次数:
67
[TOC] 一般解决多线程问题,有以下几种解决方式: 1. Semaphore(信号量) 2. Lock(管程模型),无锁 3. CountDownLatch(计数器) 4. CyclicBarrier(循环栅栏) Semaphore(信号量) Semaphore主要用于控制当前活动线程数目,就如同 ...
分类:
编程语言 时间:
2020-05-03 20:34:24
阅读次数:
64
Tomcat的吞吐量大小取决Io的很大的因素,同时可以通过调整启动项目中的配置,来做一些性能的提升。 重要的三个配置项:maxConnections、maxThreads、acceptCount。 首先来看下maxConnections最连接数、maxThreads最大线程数、acceptCount ...
分类:
其他好文 时间:
2020-05-01 17:00:02
阅读次数:
83
背景 这篇博文是接着上一篇 线程池专题 的一个补充,是针对线程池底层队列的种类做一个进一步的深入详解,上一篇博文主要针对一线大厂针对线程池的灵魂 5 问展开的,而这一篇也是综合了另外面试经验,把底层的一些内容再深入剖析一下。 线程池任务处理 如果运行的线程数 < corePoolSize,则 Exe ...
分类:
编程语言 时间:
2020-04-28 00:53:17
阅读次数:
79
压测发现接口响应较慢,代码打日志发现接口执行时间月0.04s,通过修改uwsgi进程与线程数量可显著影响响应速度及其分布。 结论: 压测时并发请求较多, 如果uwsgi worker较少,可以很快响应到来的请求(0.04s),但剩余请求会堆积,等待uwsgi处理,所以这种情况下,响应时间小者很小,大 ...
分类:
编程语言 时间:
2020-04-27 20:58:41
阅读次数:
107
1、文本数据准备 从mysql中导出数据,要使用txt格式导出 如果使用了excel格式,则会发现数据只能导出65536条数据 2、点击spoon.bat,启动kettle 3、将表输出拖入框中,按住shift键,将两个连接起来 4、文本文件输入 5、双击表输出 6、设置线程数,右击表输出,选择改变 ...
分类:
数据库 时间:
2020-04-24 01:23:39
阅读次数:
218
@Async异步方法默认使用Spring创建ThreadPoolTaskExecutor 配置类是TaskExecutionProperties【org.springframework.boot.autoconfigure.task.TaskExecutionProperties】 默认核心线程数: ...
分类:
编程语言 时间:
2020-04-22 19:40:17
阅读次数:
280