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
之间没有额外的同步,那么只有在作业完成后才能看到更改。