所以这段代码:
library(plyr)
library(doMC)
registerDoMC(cores=2)
x=1:100
llply(x, some_function, .parallel=TRUE)
失败并出现如下错误:
__THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__ ()
当我从终端运行R时,错误消失。所以它是关于GUI的东西打破了它。不幸的是,我与合作者共享此代码,所以我不能要求他们从终端运行它。这个forum post说看起来好像这个doMC后端的问题来自于我一直在寻找“/Applications/R.app/Contents/Resources/GUI- tools.R”但我并非故意在R.app中这样做。有没有办法解决这种冲突的行为?
我的Mac规格:还运行R GUI 2.13.1。 OSX 10.7.1,带有64位R.app的doMC版本1.2.3。还有一个带有Intel Core 2 Duo的MB Pro 2.53
答案 0 :(得分:1)
如果你想要真正的答案,请在R-SIG-Mac上询问;)。这与GUI工具无关,它与子代中的Cocoa运行事件循环有关 - 请参阅?multicore以获取有关GUI的警告。您可能希望更新到更新的多核,它会禁用GUI中的事件循环(如果可能)。还要避免在您运行的代码中进行任何Quartz图形调用。