我正在运行一个带有 parfor 循环的小脚本。该脚本以以下行开头:
parfor i=1:length(vX)
fprintf('%d/%d\n',i,length(X));
...
所以显然我应该马上看到打印输出。当我使用由 启动的两个工人池运行它时matlabpool(2)
,我看不到任何打印输出。当我关闭工作人员并保持 parfor 循环时,我会看到打印输出,但只有在我按 ctrl-c 时才会看到。当我将其更改parfor
为常规时for
,我会看到输出。请注意,我从未见过循环运行完成,因为它很长,但打印输出是脚本的第二行,应该立即发生,除非在 matlab 中存在一些我不知道的缓冲区刷新问题。怎么了??