Korzystam z pamięci współdzielonej (wywołania systemowe shmgetdostarczone przez C) w celu alokacji pamięci współdzielonej z programu RCpp. W związku z tym, że nie używam standardowej funkcji Calloc związanej z zarządzaniem pamięcią R, czy istnieje jakieś niebezpieczeństwo, o którym powinienem wiedzieć? Czy zarządzanie pamięcią R widzi miejsce przydzielone przez shmget jako wolne miejsce i próbuje coś na nim zapisać? Jeśli tak jest, co można zrobić, aby zapobiec tej sytuacji?
Dzięki Vineeth
Odpowiedzi:
4 dla odpowiedzi № 1To pokazuje całkowity brak zrozumienia R.
Nie możesz zrobić wielowątkowości R tylko przez połączenie z pthreads, używając OpenMP, lub ... Z tego samego powodu „Pisanie rozszerzeń R” jest bardzo jasne, co można, a czego nie można zrobić z przydziałem pamięci. Proponuję przyjrzeć się bliżej tej instrukcji.