result和friends:可调用的对象,将在稍后的时间点接收值。
cs.result的Python项目详细描述
结果和朋友。
结果是几个可调用子类的基类 它将在稍后的时间点接收值, 也可以独立使用,无需子类化。
对结果的调用将阻塞,直到收到值或取消结果为止, 这将在调用方中引发异常。 结果可以由多个用户在值传递之前或之后调用; 如果值已传递,调用方将立即返回。 可以检查结果的状态(挂起、运行、就绪、取消)。 回调可以通过结果的.notify方法注册。
一个不完整的结果可以被告知调用一个函数来计算它的值; 函数返回将作为值存储,除非函数引发异常, 在这种情况下,将记录异常信息。 如果发生异常,将为结果的任何调用方重新发送该异常。
陈腐的例子:
r=结果(name=“my demo”)
线程1: 值=R() #方块… 打印(值) #一旦线程2(下面)分配给它,就会打印3
线程2: r.结果=3
线程3: 值=R() #立即返回3
还可以使用report()函数按完成顺序收集多个结果:
RS=[…任何类型的结果列表…] … 对于报告中的r(rs): x=r()收集结果,将立即返回,因为 #结果是完整的 打印(x)打印结果
函数after(Rs, R, func, *a, **kw)
完成Rs
调用func(*a, **kw)
并返回
其结果通过R
;返回result对象。
Rs
:结果的可数。
R
:要收集到调用结果的结果func
。如果没有,
将创建一个。
func
,a
,kw
:一个可调用函数及其参数。
类AsynchState
mro:enum.Enum
结果的状态标记。
函数bg(func, *a, **kw)
分派线程运行func
,返回结果以收集其值。
类CancellationError
mro:builtins.Exception
,builtins.BaseException
取消后访问结果或exc_信息时引发。
类OnDemandFunction
mro:Result
包装一个callable,需要时运行它。
类OnDemandResult
mro:Result
包装一个callable,需要时运行它。
函数report(LFs)
生成完成结果的生成器。 这是一个生成器,在结果完成时生成结果,非常有用 等待可能在 任意命令。
类Result
异步收集结果的基类。 它还用于生成OnDemandFunctions、LateFunctions和其他 具有异步终止的对象。
类ResultState
mro:enum.Enum
结果的状态标记。