51 Runnable::operator
delete(
void* p) {
55 Runnable::operator
new(
size_t s) {
56 return heap.ralloc(s);
64 Mutex::operator
new(
size_t s) {
69 Mutex::operator
delete(
void* p) {
73#if ! ( defined(GECODE_THREADS_WINDOWS) || defined(GECODE_THREADS_OSX_UNFAIR) || !defined(GECODE_THREADS_PTHREADS_SPINLOCK) )
80 FastMutex::operator
new(
size_t s) {
85 FastMutex::operator
delete(
void* p) {
128 Thread::Run::operator
delete(
void* p) {
132 Thread::Run::operator
new(
size_t s) {
133 return heap.ralloc(s);
Lock(Mutex &m0)
Enter lock.
A mutex for mutual exclausion among several threads.
void release(void)
Release the mutex.
void acquire(void)
Acquire the mutex and possibly block.
An interface for objects that can be run by a thread.
Runnable(bool d=true)
Initialize, d defines whether object is deleted when terminated.
bool todelete(void) const
Return whether to be deleted upon termination.
void run(Runnable *r)
Run a runnable object.
Event e
Event to wait for next runnable object to execute.
Runnable * r
Runnable object to execute.
Mutex m
Mutex for synchronization.
static Run * idle
Idle runners.
static void run(Runnable *r)
Construct a new thread and run r.
static Mutex * m(void)
Mutex for synchronization.
Heap heap
The single global heap.
Support algorithms and datastructures
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType r