Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > 系统界面与配置 > 并行计算 > 并行计算中的资源共享 > SetSharedVariable >
Mathematica > 核心语言 > 调整和调试 > 并行计算 > 并行计算中的资源共享 > SetSharedVariable >

SetSharedVariable

SetSharedVariable
声明符号 作为一个共享变量,它的值在所有并行内核中是同步的.
  • 一个共享变量的唯一值可以通过主核以及每次通过主核的同步并行子核得到.
  • 没有一个值的共享变量计算得到 Null.
xs 为一个(全局)共享变量:
每个子内核增加了(全局)共享变量的值:
如果不共享的话,每个子内核具有自己的变量的(本地)备份:
xs 为一个(全局)共享变量:
In[1]:=
Click for copyable input
每个子内核增加了(全局)共享变量的值:
In[2]:=
Click for copyable input
Out[2]=
In[3]:=
Click for copyable input
Out[3]=
如果不共享的话,每个子内核具有自己的变量的(本地)备份:
In[4]:=
Click for copyable input
In[5]:=
Click for copyable input
Out[5]=
In[6]:=
Click for copyable input
Out[6]=
共享单个值:
有效访问一个共享列表的单个元素:
把一个新的值赋给一个共享变量:
仅保留最后执行的赋值:
改变共享列表的单个元素:
更新一个共享变量的值:
添加到一个共享列表:
添加到一个共享列表的一个元素中:
在主内核上定义的延迟值在主内核上进行计算:
在子内核上定义的延迟值在需要值的内核上进行计算:
使用共享变量来同步化一个无限搜索中的输入和输出:
求使得 为素数的 ,直到计算被手动退出:
使用一个共享变量来预示一旦找到一个素数所有计算停止:
使用一个共享变量来分配要进行的任务:
监控计算过程,对主要的计算步骤进行计数:
一旦找到,即返回结果:
查看实时出现的结果:
$KernelCount 是一个有效的共享变量:
分别进行读写操作对于线程不是安全的:
对于同步化,使用原子更新(atomic updates):
或者,使用 CriticalSection 使整个代码片段原子化:
版本 7 的新功能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
格式:   HTML  |  CDF