If you can read this text, it means you are not experiencing this website at its best. This website is designed for used with a standards-compliant browser.
Current version: 2.3.2
ZThreads
A platform-independent, multi-threading and synchronization library for C++
Home Documentation Downloads CVS Contact

ThreadedExecutor Class Reference

#include <ThreadedExecutor.h>

Inheritance diagram for ThreadedExecutor:

Executor Cancelable Waitable NonCopyable List of all members.

Public Member Functions

 ThreadedExecutor ()
 Create a new ThreadedExecutor.
virtual ~ThreadedExecutor ()
 Destroy a ThreadedExecutor.
virtual void interrupt ()
virtual void execute (const Task &)
virtual void cancel ()
virtual bool isCanceled ()
virtual void wait ()
virtual bool wait (unsigned long timeout)

Detailed Description

Author:
Eric Crahen <http://www.code-foo.com>
Date:
<2003-07-16T22:39:13-0400>
Version:
2.3.0
A ThreadedExecutor spawns a new thread to execute each task submitted. A ThreadedExecutor supports the following optional operations,

See also:
Executor.


Member Function Documentation

virtual void cancel  )  [virtual]
 

See also:
Cancelable::cancel()

Implements Cancelable.

virtual void execute const Task  )  [virtual]
 

Submit a task to this Executor. This will not block the current thread for very long. A new thread will be created and the task will be run() within the context of that new thread.

Exceptions:
Cancellation_Exception thrown if this Executor has been canceled. The Task being submitted will not be executed by this Executor.
See also:
Executor::execute(const Task&)

Implements Executor.

virtual void interrupt  )  [virtual]
 

Interrupting a ThreadedExecutor will cause an interrupt() to be sent to every Task that has been submitted at the time this function is called. Tasks that are submitted after this function is called will not be interrupt()ed; unless this function is invoked again().

Implements Executor.

virtual bool isCanceled  )  [virtual]
 

See also:
Cancelable::isCanceled()

Implements Cancelable.

virtual bool wait unsigned long  timeout  )  [virtual]
 

Operates the same as ThreadedExecutor::wait() but with a timeout.

Parameters:
timeout maximum amount of time, in milliseconds, to wait for the currently submitted set of Tasks to complete.
Exceptions:
Interrupted_Exception thrown if the calling thread is interrupt()ed while waiting for the current set of Tasks to complete.
Returns:
  • true if the set of tasks running at the time this function is invoked complete before timeout milliseconds elapse.
  • false othewise.
See also:
Waitable::wait(unsigned long timeout)

Implements Waitable.

virtual void wait  )  [virtual]
 

Waiting on a ThreadedExecutor will block the current thread until all tasks submitted to the Executor up until the time this function was called have completed.

Tasks submitted after this function is called will not delay a thread that was already waiting on the Executor any longer. In order to wait for those tasks to complete as well, another wait() would be needed.

Exceptions:
Interrupted_Exception thrown if the calling thread is interrupted before the set of tasks for which it was waiting complete.
See also:
Waitable::wait()

Implements Waitable.


The documentation for this class was generated from the following file: