1、集合类 ArrayList源码分析(基于JDK8) ConcurrentHashMap总结 2、三大框架 CGLIB介绍与原理 我们为什么要使用AOP? MyBatis框架及原理分析 3、Redis/Mysql Redis到底是多线程还是单线程? 数据库MySQL由浅入深理解索引的实现 4、多线 ...
分类:
其他好文 时间:
2018-06-09 00:52:49
阅读次数:
234
Java高并发之线程池详解 线程池优势 在业务场景中, 如果一个对象创建销毁开销比较大, 那么此时建议池化对象进行管理. 例如线程, jdbc连接等等, 在高并发场景中, 如果可以复用之前销毁的对象, 那么系统效率将大大提升. 另外一个好处是可以设定池化对象的上限, 例如预防创建线程数量过多导致系统 ...
分类:
编程语言 时间:
2018-06-04 16:55:22
阅读次数:
210
tensors:排列的张量或词典。 batch_size:从队列中提取新的批量大小。 num_threads:排队的线程数量tensors。如果批次是不确定的num_threads > 1。 capacity:一个整数。队列中元素的最大数量。 enqueue_many:每张张量是否tensors都是 ...
分类:
其他好文 时间:
2018-06-04 16:24:59
阅读次数:
278
线程池优势 在业务场景中, 如果一个对象创建销毁开销比较大, 那么此时建议池化对象进行管理. 例如线程, jdbc连接等等, 在高并发场景中, 如果可以复用之前销毁的对象, 那么系统效率将大大提升. 另外一个好处是可以设定池化对象的上限, 例如预防创建线程数量过多导致系统崩溃的场景. jdk中的线程 ...
分类:
编程语言 时间:
2018-06-04 11:54:26
阅读次数:
255
概念: Semaphore(信号量)是用来控制同事访问特定资源的线程数量,它通过协调各个线程,已保证合理的使用公共资源。 应用场景: Semaphore 可以用于做流量控制,特别是共用资源有限的应用场景,比如数据库连接。假如有一个需求,要读取几万个文件的数据,因为都是IO密集型任务,我们可以启动几十 ...
分类:
编程语言 时间:
2018-06-01 19:08:52
阅读次数:
213
对于volatile型变量的特殊规则 关键字volatile可以说是Java虚拟机提供的最轻量级的同步机制。 在处理多线程数据竞争问题时,不仅仅是可以使用synchronized关键字来实现,使用volatile也可以实现。 Java内存模型对volatitle专门定义了一些特殊的访问规则,当一个变 ...
分类:
编程语言 时间:
2018-05-31 10:39:32
阅读次数:
223
原文:C# 多线程、控制线程数提高循环输出效率 C#多线程及控制线程数量,对for循环输出效率。 虽然输出不规律,但是效率明显提高。 思路: 如果要删除1000条数据,只使用for循环,则一个接着一个输出。所以,把1000条数据分成seed段,每段10条数据。 int seed = Convert.... ...
分类:
编程语言 时间:
2018-05-29 01:50:25
阅读次数:
194
ansible命令应用基础: Usage: ansible <host-pattern> [-f forks] [-m module_name][-a args] -f forks:启动的并发线程数 -m module_name:要使用的模块 -a args:模块特有的参数 常见模块:ansible ...
分类:
其他好文 时间:
2018-05-26 20:27:06
阅读次数:
176
在$CATALINA_HOME/conf/server.xml配置文件中的Connetctor节点,和连接数相关的参数配置和优化。 maxThreads Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。默认值200。 可以根据机器的时期性能和内存大小调整,一般可 ...
分类:
其他好文 时间:
2018-05-24 15:09:34
阅读次数:
193
深入学习semaphore 控制同时访问资源线程数 访问特定资源前,先使用acquire(1)获得许可,如果许可数量为0,该线程则一直阻塞,直到有可用许可。 访问资源后,使用release()释放许可。 demo: 非公平策略 acquire实现,核心代码如下: java final int non ...
分类:
其他好文 时间:
2018-05-24 11:51:38
阅读次数:
205