PaCO++
0.05
paco_thread.h
Go to the documentation of this file.
1
#ifndef __PACO_thread__
2
#define __PACO_thread__
3
4
#include "
FabriqueManagerTpl.h
"
5
#include <string>
6
#include <map>
7
#include <iostream>
8
9
using namespace
std
;
10
12
13
class
paco_mutex
14
{
15
public
:
16
virtual
~paco_mutex
() {};
17
18
virtual
void
lock() = 0;
19
virtual
void
unlock() = 0;
20
};
21
23
24
class
paco_condition
25
{
26
public
:
27
virtual
~paco_condition
() {};
28
29
virtual
void
wait() = 0;
30
virtual
void
signal() = 0;
31
};
32
34
35
class
paco_thread
36
{
37
public
:
38
virtual
~paco_thread
() {};
39
virtual
void
detach
() {};
40
};
41
45
47
// Abstract class to be implemeted by each fabrique
48
class
paco_fabrique_thread
{
49
50
public
:
51
virtual
~paco_fabrique_thread
() {}
52
53
virtual
paco_mutex
* paco_create_mutex()=0;
54
virtual
paco_condition
* paco_create_condition(
paco_mutex
* mutex)=0;
55
// Create a joinable thread
56
virtual
paco_thread
* paco_create_thread(
void
* (*fn)(
void
*),
void
* arg = NULL)=0;
57
// create a detached thread
58
virtual
paco_thread
* paco_create_thread(
void
(*fn)(
void
*),
void
* arg = NULL)=0;
59
};
60
61
// The thread fabrique
62
typedef
paco_fabrique_manager_tpl<paco_fabrique_thread>
paco_fabrique_manager_thread
;
63
64
#endif
paco_thread
Definition:
paco_thread.h:35
paco_condition
Definition:
paco_thread.h:24
paco_thread::~paco_thread
virtual ~paco_thread()
Definition:
paco_thread.h:38
std
paco_thread::detach
virtual void detach()
Definition:
paco_thread.h:39
paco_condition::~paco_condition
virtual ~paco_condition()
Definition:
paco_thread.h:27
paco_fabrique_manager_tpl
Definition:
FabriqueManagerTpl.h:11
FabriqueManagerTpl.h
paco_fabrique_thread::~paco_fabrique_thread
virtual ~paco_fabrique_thread()
Definition:
paco_thread.h:51
paco_mutex::~paco_mutex
virtual ~paco_mutex()
Definition:
paco_thread.h:16
paco_fabrique_thread
Definition:
paco_thread.h:48
paco_mutex
Definition:
paco_thread.h:13
paco_fabrique_manager_thread
paco_fabrique_manager_tpl< paco_fabrique_thread > paco_fabrique_manager_thread
Definition:
paco_thread.h:62
Src
thread
paco_thread.h
Generated by
1.8.13