cluster = parallel::makeCluster(1)
mat = matrix(0,5,5)
registerVariables("ns", list(mat=mat))
parallel::clusterEvalQ(cluster, {
view = memshare::retrieveViews("ns", c("mat"))
})
if (FALSE) {
# At this point each worker holds a view of mat
}
memshare_gc("ns", cluster)
if (FALSE) {
# Every workers viewership handle gets destroyed, master sessions page handle
# gets destroyed.
# As no handles are left open, the memory is free'd.
}
parallel::stopCluster(cluster)
Run the code above in your browser using DataLab