1.CompletionService源码分析
CompletionService内部实现还是维护了一个可阻塞的队列,通过代理设计模式,从而操作队列。
    /**
     * Creates an ExecutorCompletionService using the supplied
     * executor for base task execution and a
     ...
                            
                            
                                分类:
编程语言   时间:
2014-10-26 15:38:51   
                                阅读次数:
113
                             
                    
                        
                            
                            
                                ThreadPool类提供一个线程池,该线程池可用于发送工作项、处理异步 I/O、代表其他线程等待以及处理计时器线程池通过为应用程序提供一个由系统管理的辅助线程池使您可以更为有效地使用线程。一个线程监视排到线程池的若干个等待操作的状态。当一个等待操作完成时,线程池中的一个辅助线程就会执行对应的回调函...
                            
                            
                                分类:
编程语言   时间:
2014-10-26 09:05:13   
                                阅读次数:
267
                             
                    
                        
                            
                            
                                Camel支持一种更复杂的异步的处理模型,异步处理器实现一个继承自Processor接口的AsyncProcessor接口,使用异步Processor的优点:
a.异步Processor不会因等待阻塞调用而耗尽线程,这样在处理同样工作量的情况下,通过减少线程的数量可以增加系统的伸缩性
b.使用异步Processor,可以将路由分阶段处理,不同的线程池处理其相应的路由阶段,这就意味着路由可以并行...
                            
                            
                                分类:
其他好文   时间:
2014-10-26 01:39:44   
                                阅读次数:
511
                             
                    
                        
                            
                            
                                需求:Spring 定时器结合线程池处理工单 a.定时扫库查出一定数量的需要处理的工单 b.开启线程处理查出的工单1,创建处理工单的task@Component("AppWorkOrderTask")@Scope("prototype")public class AppWorkOrder...
                            
                            
                                分类:
编程语言   时间:
2014-10-25 13:07:26   
                                阅读次数:
157
                             
                    
                        
                            
                            
                                本文来自:http://blog.csdn.net/binyao02123202/article/details/65641992011-06-23 18:283734人阅读评论(6)收藏举报c#threadprocessingmicrosoft.netcallback摘要深度探索Microsoft...
                            
                            
                                分类:
编程语言   时间:
2014-10-24 18:38:47   
                                阅读次数:
335
                             
                    
                        
                            
                            
                                http://blog.csdn.net/liangjingbo/article/details/2777112目前线程池主要包含下列部分:1.busy_list当前在处理客户请求的线程队列,即正在进行智能网页分析的线程2.idle_list当前线程池中空闲的线程队列3.request_list当用...
                            
                            
                                分类:
编程语言   时间:
2014-10-24 12:50:29   
                                阅读次数:
307
                             
                    
                        
                            
                            
                                一. 线程池的概念:
其实到目前为止我们接触过很多关于池的概念:string池、连接池,之所以要用这个池,目的只有一个:资源的重复使用。
线程池:首先创建一些线程,当服务器接收到一个客户请求后,就从线程池中取出一个空闲的线程为之服务,服务完后并不关闭该线程,而是将该线程还回到线程池中。
在线程池的编程模式下,任务是提交给整个线程池的,而不是直接交给某个线程,线程池在拿到任务后,它就在内部找有无空闲的线程,找到后再把任务交给内部某个空闲的线程,这就是封装。记住:任务是提交给整个线程池的,一个线程同时只能执行一...
                            
                            
                                分类:
编程语言   时间:
2014-10-24 10:58:21   
                                阅读次数:
159
                             
                    
                        
                            
                            
                                FutureTask类是Future 的一个实现,并实现了Runnable,
所以可通过Executor(线程池)来执行,也可传递给Thread对象执行。
 如果在主线程中需要执行比较耗时的操作时,但又不想阻塞主线程时,
可以把这些作业交给Future对象在后台完成,当主线程将来需要时,
就可以通过Future对象获得后台作业的计算结果或者执行状态。 
Executor框架利用Futur...
                            
                            
                                分类:
其他好文   时间:
2014-10-23 20:51:21   
                                阅读次数:
192
                             
                    
                        
                            
                            
                                通过下面步骤能够非常easy产生内存泄露(程序代码不能訪问到某些对象,可是它们仍然保存在内存中):应用程序创建一个长时间执行的线程(或者使用线程池,会更快地发生内存泄露)。线程通过某个类载入器(能够自己定义)载入一个类。该类分配了大块内存(比方new byte[1000000]),在某个静态变量存储...
                            
                            
                                分类:
编程语言   时间:
2014-10-23 19:08:28   
                                阅读次数:
266
                             
                    
                        
                            
                            
                                本文来自:http://rickie.cnblogs.com/archive/2004/11/23/67275.html在多线程的程序中,经常会出现两种情况。一种情况下,应用程序中的线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应;而另外一种情况则是线程平常都处于休眠状态,只是周...
                            
                            
                                分类:
编程语言   时间:
2014-10-23 16:05:31   
                                阅读次数:
136