org.codehaus.gpars

groovyx.gpars.scheduler
[Java] Class FJPool

java.lang.Object
  groovyx.gpars.scheduler.FJPool
All Implemented Interfaces:
Pool

public class FJPool
extends java.lang.Object

Represents the actors' thread pool, which performs tasks on behalf of the actors. Uses a ForkJoinPool from JSR-166y The actors' thread pool size defaults to the n + 1, where n is the number of processors/cores available on the machine. The VM parameter -Dgpars.poolsize can be used the configure the default size of the actors' thread pool. The resize() and resetDefaultSize() methods can be used to configure size of the thread pool at runtime.

Authors:
Vaclav Pech Date: Feb 27, 2009


Field Summary
private static long DEFAULT_SHUTDOWN_TIMEOUT

private int configuredPoolSize

protected jsr166y.ForkJoinPool pool

 
Constructor Summary
FJPool()

Creates the pool with default number of threads.

FJPool(int configuredPoolSize)

Creates the pool with specified number of threads.

FJPool(jsr166y.ForkJoinPool pool)

Creates the pool wrapping the provided ForkJoinPool

 
Method Summary
private static jsr166y.ForkJoinPool createPool(int poolSize)

Creates a fork/join pool of given size.

void execute(java.lang.Runnable task)

schedules a new task for processing with the pool

protected int getConfiguredPoolSize()

jsr166y.ForkJoinPool getForkJoinPool()

Retrieves the internal executor service.

int getPoolSize()

Retrieves the current thread pool size

void resetDefaultSize()

Sets the pool size to the default

void resize(int poolSize)

Resizes the thread pool to the specified value

void shutdown()

Gently stops the pool

 
Methods inherited from class java.lang.Object
java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Field Detail

DEFAULT_SHUTDOWN_TIMEOUT

private static final long DEFAULT_SHUTDOWN_TIMEOUT


configuredPoolSize

private final int configuredPoolSize


pool

protected final jsr166y.ForkJoinPool pool


 
Constructor Detail

FJPool

public FJPool()
Creates the pool with default number of threads.


FJPool

public FJPool(int configuredPoolSize)
Creates the pool with specified number of threads.
Parameters:
configuredPoolSize - The required size of the pool


FJPool

public FJPool(jsr166y.ForkJoinPool pool)
Creates the pool wrapping the provided ForkJoinPool
Parameters:
pool - The ForkJoinPool instance to wrap


 
Method Detail

createPool

private static jsr166y.ForkJoinPool createPool(int poolSize)
Creates a fork/join pool of given size. Each thread will have the uncaught exception handler set to print the unhandled exception to standard error output.
Parameters:
poolSize - The required pool size
Returns:
The created thread pool
The newly created thread pool


execute

@Override
public void execute(java.lang.Runnable task)
schedules a new task for processing with the pool
Parameters:
task - The task to schedule


getConfiguredPoolSize

protected final int getConfiguredPoolSize()


getForkJoinPool

public final jsr166y.ForkJoinPool getForkJoinPool()
Retrieves the internal executor service.
Returns:
The underlying thread pool


getPoolSize

@Override
public int getPoolSize()
Retrieves the current thread pool size
Returns:
The pool size


resetDefaultSize

@Override
public final void resetDefaultSize()
Sets the pool size to the default


resize

@Override
public final void resize(int poolSize)
Resizes the thread pool to the specified value
Parameters:
poolSize - The new pool size


shutdown

@Override
public final void shutdown()
Gently stops the pool


 

Copyright © 2008–2010 Václav Pech. All Rights Reserved.