主要内容

异步更新用户界面使用afterEach而且毕竟

这个例子展示了如何在计算完成时更新用户界面。当您将计算卸载给使用parfeval,当工作人员执行这些计算时,所有用户界面都是响应式的。在本例中,使用waitbar创建一个简单的用户界面。

  • 使用afterEach在每次计算完成后更新用户界面。

  • 使用毕竟在所有计算完成后更新用户界面。

使用waitbar要创建一个数字句柄,h.当你使用afterEach毕竟,waitbar函数更新图形句柄。有关句柄对象的详细信息,请参见处理对象行为

H = waitbar(0,“等……”);

waitbar.png

使用parfeval计算随机矩阵特征值的实部。使用默认首选项,parfeval如果尚未创建并行池,则自动创建并行池。

idx = 1:10 0 f (idx) = parfeval (@ (n)真实(eig (randn (n))), 1、5 e2);结束

你可以使用afterEach的每个结果上自动调用函数parfeval计算。使用afterEach在每个future完成后,计算每个输出数组中的最大值。

maxFuture = afterEach(f,@max,1);

您可以使用状态财产获得期货地位。创建一个逻辑数组,其中状态期货的性质f“完成”.使用的意思是计算成品期货的比例。然后,创建一个匿名函数updateWaitbar.该函数改变的分数等待条的长度h到成品期货的比例。

updateWaitbar = @(~) waitbar(mean({f.)州}= =“完成”), h);

使用afterEach而且updateWaitbar在每个future in之后更新分数等待条长度maxFuture完成。使用毕竟而且删除在所有计算完成后关闭等待栏。

updateWaitbarFutures = afterEach(f,updateWaitbar,0);毕竟(updateWaitbarFutures @(~)删除(h), 0);

使用毕竟而且柱状图中显示结果的直方图maxFuture在所有的期货完成之后。

showsHistogramFuture = afterAll(maxFuture,@直方图,0);

另请参阅