我正在使用doParallel
与foreach
进行相当长的并行处理。而不是大多数示例,我看到,计算密集但输入光代码被送入循环,我使用foreach
协调同时处理大量独立数据集。所以在循环中,我使用元数据从磁盘读取文件,对其进行操作,然后写回来。
在我将此操作转换为foreach循环之前,我使用messages()
编写了调试消息。但是,由于我已经切换到使用foreach
和%dopar%
,我注意到循环'变暗':它正在做它应该做的事情,但我没有收到任何输出。 (我应该提一下,这个循环被写入一个我用Rscript
从shell调用的脚本。)
我猜这与doParallel
旋转其他线程的事实有关 - 也许那些线程不再知道转储标准输出的位置?想法?