线程池实现:
用于执行大量相对短暂的任务
当任务增加的时候能够动态的增加线程池中线程的数量直到达到一个阈值。
当任务执行完毕的时候,能够动态的销毁线程池中的线程
该线程池的实现本质上也是生产者与消费模型的应用。生产者线程向任务队列中添加任务,一旦队列有任务到来,如果有等待线程就唤醒来执行任务,如果没有等待线程并且线程数没有达到阈值,就创建新线程来执行任务。...
分类:
编程语言 时间:
2014-06-05 09:33:14
阅读次数:
262
一、在任务与执行策略之间的隐性解耦
有些类型的任务需要明确地指定执行策略,包括:
. 依赖性任务。依赖关系对执行策略造成约束,需要注意活跃性问题。要求线程池足够大,确保任务都能放入。
. 使用线程封闭机制的任务。需要串行执行。
. 对响应时间敏感的任务。
. 使用ThreadLocal的任务。
1. 线程饥饿死锁
线程池中如果所有正在执行任务的线程都由于等待其他仍处于工作...
分类:
编程语言 时间:
2014-06-05 06:15:57
阅读次数:
355
adapter+线程1.很多时候自定义adapter的数据都是来源于服务器的,所以在获取服务器的时候就需要异步获取,这里就需要开线程了(线程池)去获取服务器的数据了。但这样有的时候adapter的中没有数据。如下面的代码:
这就是在initData中异步获取服务器的数据...
分类:
移动开发 时间:
2014-05-30 21:40:10
阅读次数:
2789
一个简单的solrserver组件
实现索引更新的异步处理,以及查询接口,日志/线程池/队列监控没有加上。SolrDocment封装 接口:public interface
ISolrDocument { public SolrInputDocument convertToInputDocum...
分类:
其他好文 时间:
2014-05-28 15:29:31
阅读次数:
385
通过DaemonThreadFactory创建后台线程池package
wzh.daemon;import java.util.concurrent.ThreadFactory;public class
DaemonThreadFactory implements ThreadFactory { ...
分类:
编程语言 时间:
2014-05-25 23:15:41
阅读次数:
325
继续并发,貌似并发的文章很少有人看啊~哈~
今天准备详细介绍java并发包下的Executor,以及Java提供了很多灵活的且极其方便的线程池的创建。
嗯,那就慢慢说,大家肯定都学过Socket,JavaSe的时候写聊天程序,游戏的服务器,以及Android程序自己需要提供服务器的,都会拿Socket来自己写个:
最初我们的服务器可能写成这样:
1、单线程服务器
package com....
分类:
编程语言 时间:
2014-05-25 22:45:11
阅读次数:
318
Volley问题原因:
Android4.x版本和2.x对AsyncTask的机制不同2.x之中,同时执行5个,4.x同时只有一个解决思路:1) 使用Thread + Handler
注意: 使用线程池2) 定制AsyncTask线程池3) 开源框架Volley1. 检查网络2. 退出3. 总结有....
分类:
移动开发 时间:
2014-05-25 22:27:53
阅读次数:
286
不错的解释ThreadLocal链接:http://www.kaifajie.cn/spring/9255.html
当Web容器收到一个Http请求时,Web容器中的一个主调度线程会从事先定义好的线程池中分配一个当前工作线程,将请求分配给当前的工作线程,由该线程来执行对应的Servlet对象中的s...
分类:
其他好文 时间:
2014-05-25 20:08:12
阅读次数:
172
性能优化中,其中一块是线程池的使用,初探线程池,从简单了解到源码分析,深入理解才能合理运用。
(一)线程池的来源及优点
单个异步任务,每次都需创建线程、销毁线程,当任务处理的时间短而请求数却巨大时,将导致资源消耗过多。
比如,数据库连接,需消耗大量资源,建立线程池能重用数据库访问线程。
使用线程池的优点:
1.降低资源消耗。重用现有线程,减少线程创建销毁开销。
2.提高...
分类:
编程语言 时间:
2014-05-24 23:19:10
阅读次数:
511