在上一文章中,笔者介绍了线程池及其内部的原理。今天主要讲的也是和线程相关的内容。一般情况下,使用Runnable接口、Thread实现的线程我们都是无法返回结果的。但是如果对一些场合需要线程返回的结果。就要使用用Callable、Future、FutureTask、CompletionService这几个类。Callable只能在ExecutorService的线程池中跑,但有返回结果,也可以通过...
                            
                            
                                分类:
编程语言   时间:
2016-06-12 10:52:39   
                                阅读次数:
464
                             
                    
                        
                            
                            
                                在上一篇文章中我们已经了解了Executor框架进行线程管理,这篇文章将学习Executor框架的另一个特性,我们知道执行Runnable任务是没有返回值得,但Executor可以运行并发任务并获得返回值,Concurrent包提供下面两个接口实现这个功能:
Callable接口:这个接口声明call(),类似于Runnable的run(),可以在这个方法里实现任务的具体逻辑操作。Callable是...
                            
                            
                                分类:
编程语言   时间:
2016-06-12 03:13:14   
                                阅读次数:
145
                             
                    
                        
                            
                            
                                1. 头文件简介
Classes 
std::future 
std::future_error 
std::packaged_task 
std::promise 
std::shared_future
Functions 
std::async 
std::future_category
2. std::future简单来说,std::future提供了一种访问异步操作结果的...
                            
                            
                                分类:
编程语言   时间:
2016-06-12 03:09:32   
                                阅读次数:
235
                             
                    
                        
                            
                            
                                查看pytho中已自带的模块显示出已导入的模块importsyssys.modules显示全部模块help()modules查看某模块中支持的功能eg:dir(‘os‘)查看某模块的功能的用法eg:help(os.mkdir)1、模块__future__至少确保在2.1之前版本的Python可以正常运行一些新的语言特性2、模块rePython通过re模..
                            
                            
                                分类:
编程语言   时间:
2016-06-12 00:32:31   
                                阅读次数:
283
                             
                    
                        
                            
                            
                                from __future__ import division weight = [10,20,30]volume =[60,100,120]kept = [0,0,0]M = 50def knapback(M, weight, volume, kept): for i in range(0,3): ...
                            
                            
                                分类:
其他好文   时间:
2016-06-07 08:50:13   
                                阅读次数:
149
                             
                    
                        
                            
                            
                                Callable 接口类似于 Runnable,两者都是为那些其实例可能被另一个线程执行的类设计的。但是 Runnable 不会返回结果,并且无法抛出经过检查的异常。而Callable可以返回一个结果,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行任务的返回值,下面来看一个简单的例子:public class CallableAndFuture {    public st...
                            
                            
                                分类:
编程语言   时间:
2016-06-03 21:36:01   
                                阅读次数:
242
                             
                    
                        
                            
                            
                                当向Executor提交批处理任务时,并且希望在它们完成后获得结果,如果用FutureTask,你可以循环获取task,并用 future.get()去获取结果,但是如果这个task没有完成,你就得阻塞在这里,这个实效性不高,其实在很多场合,其实你拿第一个任务结果时,此 时结果并没有生成并阻塞,其实在阻塞在第一个任务时,第二个task的任务已经早就完成了,显然这种情况用future task不合适...
                            
                            
                                分类:
其他好文   时间:
2016-05-30 15:15:51   
                                阅读次数:
108
                             
                    
                        
                            
                            
                                    混合使用 ForkJoin, Akka, Future 实现一千万个不重复整数的排序。 ...
                            
                            
                                分类:
编程语言   时间:
2016-05-29 23:08:43   
                                阅读次数:
261
                             
                    
                        
                            
                            
                                    警告信息是“mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead……\ThinkPHP\Library\Think\Db\Driv ...
                            
                            
                                分类:
数据库   时间:
2016-05-25 12:47:35   
                                阅读次数:
139
                             
                    
                        
                            
                            
                                原文链接:http://www.cnblogs.com/dolphin0520/ 作者:海子 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通 ...
                            
                            
                                分类:
编程语言   时间:
2016-05-18 09:13:50   
                                阅读次数:
253