ValueStore
说明
ValueStore 是存储特定作业所拥有的数据的对象。对象的每个条目由一个值及其对应的键组成。当所属作业被删除时,ValueStore 对象也会被删除。使用 ValueStore 存储来自 MATLAB® 工作单元的数据,这些数据可以在作业执行期间由 MATLAB 客户端检索(即使作业仍在运行)。
任何 MATLAB 进程客户端或工作单元都可以随时将条目写入
ValueStore。任何 MATLAB 进程客户端或工作单元都可以随时从ValueStore读取此条目。然而,不同进程执行操作的顺序并不能保证。ValueStore不保存在系统内存中,因此可用于存储大量结果。
创建对象
当您创建以下内容时,会自动创建 ValueStore 对象:
集群上的作业,它是一个
parallel.Job对象。要创建作业,请使用batch、createJob或createCommunicatingJob函数。本地计算机上的进程工作单元并行池,它是一个
ProcessPool对象。要创建进程池,请使用parpool函数。本地计算机上线程式工作单元的并行池,它是一个
ThreadPool对象。要创建线程池,请使用parpool函数。 (自 R2023b 起)计算机集群上的并行工作单元池,它是一个
ClusterPool对象。要创建集群池,请使用parpool函数。
您可以使用 getCurrentValueStore 函数访问工作单元上的 ValueStore 对象。然后,您可以使用与作业或并行池关联的 ValueStore 属性在客户端上检索 ValueStore 对象。例如,请参阅运行批处理作业并从工作单元中检索数据。
属性
对象函数
示例
限制
当使用
parallel.cluster.Generic集群并将'HasSharedFileSystem'设置为false时,作业运行时对ValueStore所做修改的可见性取决于您的具体实现。如果 MATLAB 客户端和工作单元JobStorageLocation之间没有额外的同步,那么只有在作业完成后才能看到更改。