SocketSemaphore {R.filelocks}R Documentation

The SocketSemaphore class

Description

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.

Usage

SocketSemaphore(host="127.0.0.1", port=7777, ...)

Arguments

host, port The hostname and port number of the server.
... Not used.

Fields and Methods

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

Author(s)

Henrik Bengtsson (http://www.braju.com/R/)

Examples

## 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)

[Package R.filelocks version 0.0.2 Index]