| SocketSemaphore {R.filelocks} | R Documentation |
Package: R.filelocks
Class SocketSemaphore
Object
~~|
~~+--AbstractSemaphore
~~~~~~~|
~~~~~~~+--SocketSemaphore
Directly known subclasses:
public static class SocketSemaphore
extends AbstractSemaphore
A SocketSemaphore is a class for acquiring a semphore from a server.
SocketSemaphore(host="127.0.0.1", port=7777, ...)
host, port |
The hostname and port number of the server. |
... |
Not used. |
Methods:
finalize | - | |
isAcquired | - | |
release | - | |
tryAcquire | - |
Methods inherited from AbstractSemaphore:
acquire, finalize, release, tryAcquire
Methods inherited from Object:
$, $<-, [[, [[<-, as.character, attach, attachLocally, clearCache, clone, detach, equals, extend, finalize, gc, getEnvironment, getFields, getInstantiationTime, getStaticInstance, hasField, hashCode, ll, load, objectSize, print, save
Henrik Bengtsson (http://www.braju.com/R/)
## Not run:
# Run a seperate R process providing a semaphore server
srv <- SocketSemaphoreServer(port=7777);
run(srv, verbose=-10);
# Run an R process to wait for a semaphore, do some
# job that requires atomic transactions, release the
# semaphore, and so on.
# Server that controls the semaphore
host <- "127.0.0.1"
token <- SocketSemaphore(host, port=7777)
for (kk in 1:50) {
if (acquire(token)) {
cat("Client acquired semaphore.\n")
Sys.sleep(runif(n=1, max=0.01))
release(token)
cat("Client released semaphore.\n")
Sys.sleep(runif(n=1, max=0.1))
}
}
## End(Not run)