Newton Dynamics
4.00
dThread.h
1
/* Copyright (c) <2003-2019> <Julio Jerez, Newton Game Dynamics>
2
*
3
* This software is provided 'as-is', without any express or implied
4
* warranty. In no event will the authors be held liable for any damages
5
* arising from the use of this software.
6
*
7
* Permission is granted to anyone to use this software for any purpose,
8
* including commercial applications, and to alter it and redistribute it
9
* freely, subject to the following restrictions:
10
*
11
* 1. The origin of this software must not be misrepresented; you must not
12
* claim that you wrote the original software. If you use this software
13
* in a product, an acknowledgment in the product documentation would be
14
* appreciated but is not required.
15
*
16
* 2. Altered source versions must be plainly marked as such, and must not be
17
* misrepresented as being the original software.
18
*
19
* 3. This notice may not be removed or altered from any source distribution.
20
*/
21
22
#ifndef _D_THREAD_H_
23
#define _D_THREAD_H_
24
25
#include "dCoreStdafx.h"
26
#include "dSemaphore.h"
27
#include "dClassAlloc.h"
28
29
class
dThread
30
:
public
dSemaphore
31
#ifndef D_USE_THREAD_EMULATION
32
,
public
dAtomic
<bool>
33
,
public
std::condition_variable
34
,
public
std::thread
35
#endif
36
{
37
public
:
38
D_CORE_API
dThread
();
39
D_CORE_API
virtual
~
dThread
();
40
41
D_CORE_API
void
SetName(
const
char
*
const
name);
42
43
D_CORE_API
void
Finish();
44
D_CORE_API
void
Signal();
45
46
virtual
void
ThreadFunction() = 0;
47
48
protected
:
49
virtual
void
Release(){}
50
51
private
:
52
void
ThreadFunctionCallback();
53
54
protected
:
55
char
m_name[32];
56
};
57
58
#endif
dAtomic
wrapper over standard atomic operations
Definition:
dTypes.h:551
dSemaphore
Generic counting semaphore for thread synchronization.
Definition:
dSemaphore.h:29
dThread
Definition:
dThread.h:36
Development
newton-dynamics
newton-4.00
sdk
dCore
dThread.h
Generated by
1.8.20