Use the future package

The functionality demonstrated in this toy example is better implemented in the future package already.


Allows for simple go-routine like execution of code (as in syntax but NOT in lightweight-ness) in a non-blocking manner on socket server.


install.packages("devtools") #if not already installed


system.time(gs <- go.socket("z <- rnorm(10^8)")) # go.socket is non-blocking the rest of the code will execute almost immediately
print("Don't have to wait for it to finish") 
evalServer.nb(gs$con,"summary(z)") # to retrieve the results; this is blocking
print("The above you have to wait for!")
close.go.socket(gs) # good practise to close the go.socket

AnalytixWare/gosocket documentation built on May 14, 2019, 2:32 p.m.