Gecode::Support::Thread Class Reference
Common functionality » Support algorithms and datastructures » Simple thread and synchronization support

Simple threads. More...

`#include <thread.hpp>`

## Classes

class | Run
| A real thread. More...

## Static Public Member Functions

static Mutex * | m (void)
| Mutex for synchronization.
static void | run (Runnable *r)
| Construct a new thread and run r.
static void | sleep (unsigned int ms)
| Put current thread to sleep for ms milliseconds.
static unsigned int | npu (void)
| Return number of processing units (1 if information not available).

## Static Public Attributes

static Run * | idle = NULL
| Idle runners.

## Detailed Description

Simple threads.

Threads cannot be created, only runnable objects can be submitted for execution by a thread. Threads are pooled to avoid creation/destruction of threads as much as possible.

Definition at line 296 of file thread.hpp.

## Member Function Documentation

## m()

Mutex * Gecode::Support::Thread::m | ( | void |  | ) |

static

Mutex for synchronization.

Definition at line 42 of file thread.cpp.

## run()

void Gecode::Support::Thread::run | ( | Runnable * | r | ) |

inline static

Construct a new thread and run r.

After r terminates, r is deleted. After that, the thread terminates.

If the operating system does not support any threads, throws an exception of type Support::OperatingSystemError.

Definition at line 115 of file thread.hpp.

## sleep()

void Gecode::Support::Thread::sleep | ( | unsigned int | ms | ) |

inline static

Put current thread to sleep for ms milliseconds.

Definition at line 74 of file none.hpp.

## npu()

unsigned int Gecode::Support::Thread::npu | ( | void |  | ) |

inline static

Return number of processing units (1 if information not available).

Definition at line 76 of file none.hpp.

## Member Data Documentation

## idle

Thread::Run * Gecode::Support::Thread::idle = NULL

static

Idle runners.

Definition at line 323 of file thread.hpp.

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

- gecode/support/thread.hpp
- gecode/support/thread/none.hpp
- gecode/support/thread/pthreads.hpp
- gecode/support/thread/thread.cpp
- gecode/support/thread/thread.hpp
- gecode/support/thread/windows.hpp