3
在Matlab(2012b)中,有没有办法在发送数据之前暂停由SPMD创建的一个线程?因为线程2只有有限大小的缓冲区来接受来自线程1的数据,并且根据matlab,labSend()将在数据传输完成之前返回,这意味着理论上线程1可以继续向线程2发送数据,直到系统运行内存不足:在Matlab中使用SPMD发送数据
我想要做的是这样的:
spmd (2)
if labindex==1
%...
if (BufferAtLab2isNotFull)
labSend(data, 2);
end
%...
elseif labindex==2
if (BufferNotFull)
labReceive(data, 1);
end
%...
end
end
在C/C++中,它是很容易做到这一点与共享内存多线程,但在MATLAB现在看来,这是相当很难,因为没有共享资源来检查。