0
我試圖從多個線程中進行RInside調用,並且遇到此錯誤。多線程使用一個RInside實例
terminate called after throwing an instance of 'std::runtime_error'
what(): Error evaluating: qnorm(.65, mean=0,sd=1)
的代碼行導致此是:
//within main.cpp//
std::shared_ptr<RInside> R = std::make_shared<RInside>();
//within some_class::some_function(std::shared_ptr<RInside> R)//
double value = Rcpp::as<double>(R->parseEval("qnorm(.65, mean=0,sd=1)"));
R是正被80個+線程之間共享一個std :: shared_ptr的。
我假設這個問題是一個鎖定的問題,因爲RInside實例忙於執行第一parseEval當另一個用武之地。
難道我就在我的假設? 謝謝!
這在已詳細討論之前:你根本就沒有圍繞R.一個多線程的上下文 – 2015-02-12 02:48:30
謝謝。我會讓所有R接口順序。 – 2015-02-12 03:35:59
如果你去多個_process_你可以使事情工作。 「mpi /'子目錄中最早提供的示例之一。 – 2015-02-12 03:42:00