首页 / 知识
关于计算机科学:什么是期货?
2023-04-16 10:06:00

What are futures?什么是期货? 这与懒惰的评估有关。 维基百科上有一篇关于期货的文章。简而言之,这是一种使用未知值的方法。然后可以按需计算值(延迟评估),并且可以选择与主要计算同时进行。 C ++示例如下。 假设您要计算两个数字的和。您可以使用典型的渴望实现:
或者,您也可以使用C ++ 11的
创建未来时,将启动一个新的后台线程,该线程开始计算实际值。如果您请求Future的值,它将阻塞直到线程完成计算。当您需要并行生成一些值并且不想手动跟踪所有值时,这非常有用。 有关Ruby或Scala,期货和惰性评估,请参见lazy.rb。 它们可能可以用任何具有线程的语言来实现,尽管用C之类的低级语言显然要比使用高级功能语言要困难得多。 每个人都出于懒惰计算的目的提到期货。但是,另一个不如广告宣传的用途是使用Future for IO。特别是它们对于加载文件和等待网络数据很有用 Future封装了延迟的计算,通常用于将懒惰求值转换为非懒惰语言。第一次评估future时,将运行评估该future所需的代码,并将future替换为结果。 由于将来已被替换,因此后续评估不会再次执行代码,而只会产生结果。 这篇博客文章给出了非常详尽的解释,并提供了有关如何自己实现未来的示例。我真的推荐它:) 期货还用于某些设计模式,特别是用于实时模式,例如ActiveObject模式,该模式将方法调用与方法执行分开。设置将来以等待完成的执行。当您需要从多线程环境转移到与单线程环境进行通信时,我倾向于看到它。在某些情况下,某些硬件不支持线程内核,并且在这种情况下使用期货。乍一看,您如何沟通并不明显,而令人惊讶的是,期货使交易变得相当简单。我有一些C#代码。我将其挖掘出来并发布。 Wiki文章很好地概述了期货。该概念通常在并发系统中使用,用于对可能尚未计算出的值以及可能已经或可能尚未进行计算的值进行调度。 从文章:
在本文中未提及,期货是Monad,因此可以将期货价值的函数投影到monad中,以便在可用时将其应用于期货价值,从而产生另一个期货,而期货又表示该函数的结果。 |
最新内容
相关内容
重启计算机命令linux?
重启计算机命令linux?,系统,工作,命令,服务,标准,设备,灵活,首要,意义,参数,Linux的重启命令有哪些1、在linux下一些常用的关机/重启命令有shulinux命令匹配数字?
linux命令匹配数字?,数字,档案,位置,环境,名字,较大,系统,权限,命令,用户,Linux的基本命令格式如何?Linux下经常使用的通配符有哪些通配符 基linux权限数字命令?
linux权限数字命令?,数字,系统,地址,权限,命令,标准,情况,管理,基础,文件,linux734是什么权限1、linux权限从左至右,第一位数字代表文件所有者linux计算机的命令?
linux计算机的命令?,系统,工作,信息,设备,技术,命令,网站,管理,灵活,基础,linux查看路径命令linux命令如果记不得,可以使用man命令来查看某个命linux用计算器的命令?
linux用计算器的命令?,代码,环境,情况,异常,工具,数据,位置,平台,精密,设计,求在linux环境下用QT编写一个非常简单的计算器计算器包括加,减,乘linux的数学计算命令?
linux的数学计算命令?,工作,系统,信息,地址,数字,目录,命令,百分比,情况,管理,linux的shell脚本编程,求两数字间所有偶数的和,我是小白,不太懂linux云计算查看命令?
linux云计算查看命令?,系统,信息,地址,工作,命令,情况,标准,服务,软件,网络,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出linux打开计算器命令?
linux打开计算器命令?,密码,电脑,工作,设备,数字,系统,手机,指数,情况,服务,关于Linux的(操作过程中的Linux命令必须完整给出)对Linux操作系统linux命令输出计算?
linux命令输出计算?,标准,地址,工作,信息,系统,命令,软件,数据,文件,控制台,linux借用外部命令expr,实现计算器功能,利用管道,进程1、你得装一linux排序数字命令?
linux排序数字命令?,标准,数字,单位,情况,系统,信息,命令,文件,顺序,参数,linux下用shell编写,键盘输入三个数,按大小排序输出1、这个问题可以linux命令不能打数字?
linux命令不能打数字?,工作,密码,数字,地址,电脑,系统,命令,设备,下来,预期,你好,求助大师帮忙,我刚学ARM,怎么无法输入数字或字母呢1、ZI初始linux计算总数命令?
linux计算总数命令?,系统,第一,情况,数据,信息,电脑,命令,百分比,单位,工作,linux下如何统计一个目录下的文件个数以及代码总行数的命令1、在L