多线程
文章平均质量分 63
全力付出
https://zyongjava.github.io
展开
-
spring mvc 线程安全问题说明
spring mvc 线程安全问题controller默认是单例 需要的数据都从方法参数传递 只要不定义类变量 就安全,与servlet一致spring mvc : 根据@Scope作用域线程安全(可能安全,可能不安全)struts2 : action每次请求都会创建一个实例(线程安全)servlet: 单例模式(线程不安全)Spring MVC的Contr原创 2015-12-24 17:46:16 · 1551 阅读 · 0 评论 -
异步线程池
异步线程池import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.util.Collection;import java.util.List;import java.util.concurrent.Callable;import java.util.concurrent.ExecutorService;原创 2016-02-29 14:26:25 · 1274 阅读 · 0 评论 -
ThreadPoolExecutor 分析
自定义的ThreadPoolExecutor, 代码如下:public void init() { this.service =new ThreadPoolExecutor(30,200, 60L, TimeUnit.SECONDS, new SynchronousQueue(),原创 2016-06-08 10:10:51 · 1526 阅读 · 0 评论 -
ThreadPoolExecutor源码分析
1. 执行execute()方法第一步:判断当前线程数是否小于核心线程数,小于就加入调用addWork()方法就创建核心线程。第二步:判断当前线程是否为RUNNING状态,是则把线程放入队列queue。第二步:线程放入队列queue失败则再次调用addWork()创建新线程扩大接收任务,最大扩大至最大线程数 public void execute(Runnable c原创 2016-06-08 14:29:19 · 844 阅读 · 0 评论 -
CountDownLatch使用
CountDownLatch使用一、CountDownLatch介绍1) CountDownLatch一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待2) 有时候会有这样的需求,多个线程同时工作,然后其中几个可以随意并发执行,但有一个线程需要等其他线程工作结束后,才能开始。3) 举个例子,开启多个线程分块下载一个大文件,每个线程只下载固定的一截,最后由另外一个线程原创 2016-08-22 14:36:02 · 975 阅读 · 0 评论