Arcane
4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
ThreadBindingMng.h
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4
// See the top-level COPYRIGHT file for details.
5
// SPDX-License-Identifier: Apache-2.0
6
//-----------------------------------------------------------------------------
7
/*---------------------------------------------------------------------------*/
8
/* ThreadBindingMng.h (C) 2000-2025 */
9
/* */
10
/* Manager for binding threads. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_IMPL_INTERNAL_THREADBINDERMNG_H
13
#define ARCANE_IMPL_INTERNAL_THREADBINDERMNG_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "arcane/utils/String.h"
18
19
#include "arcane/core/ObserverPool.h"
20
21
/*---------------------------------------------------------------------------*/
22
/*---------------------------------------------------------------------------*/
23
24
namespace
Arcane
25
{
26
27
/*---------------------------------------------------------------------------*/
28
/*---------------------------------------------------------------------------*/
29
30
class
ARCANE_IMPL_EXPORT ThreadBindingMng
31
{
32
public
:
33
34
ThreadBindingMng();
35
~ThreadBindingMng();
36
37
public
:
38
39
void
initialize(
ITraceMng
* tm,
const
String
& strategy);
40
void
finalize();
41
42
private
:
43
44
ITraceMng
* m_trace_mng =
nullptr
;
45
String
m_bind_strategy;
46
Int32
m_current_thread_index = 0;
47
Int32
m_max_thread = 0;
48
IObserver
* m_thread_created_callback =
nullptr
;
49
bool
m_has_callback =
false
;
50
51
private
:
52
53
void
_createThreadCallback();
54
};
55
56
/*---------------------------------------------------------------------------*/
57
/*---------------------------------------------------------------------------*/
58
59
}
// End namespace Arcane
60
61
/*---------------------------------------------------------------------------*/
62
/*---------------------------------------------------------------------------*/
63
64
#endif
Arcane::IObserver
Observer interface.
Definition
arccore/src/base/arccore/base/IObserver.h:45
Arcane::ITraceMng
Trace manager interface.
Definition
arccore/src/trace/arccore/trace/ITraceMng.h:175
Arcane::String
Unicode character string.
Definition
arccore/src/base/arccore/base/String.h:70
Arcane
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Definition
arcane/src/arcane/accelerator/AcceleratorGlobal.h:37
Arcane::Int32
std::int32_t Int32
Signed integer type of 32 bits.
Definition
ArccoreGlobal.h:233
arcane
impl
internal
ThreadBindingMng.h
Generated on
for Arcane by
1.16.1