The Gaudi Framework  master (b9786168)
Loading...
Searching...
No Matches
IThreadPoolSvc.h
Go to the documentation of this file.
1/***********************************************************************************\
2* (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3* *
4* This software is distributed under the terms of the Apache version 2 licence, *
5* copied verbatim in the file "LICENSE". *
6* *
7* In applying this licence, CERN does not waive the privileges and immunities *
8* granted to it by virtue of its status as an Intergovernmental Organization *
9* or submit itself to any jurisdiction. *
10\***********************************************************************************/
11#pragma once
12
15#include <vector>
16
17//-----------------------------------------------------------------------------
18
29
30//-----------------------------------------------------------------------------
31
32class GAUDI_API IThreadPoolSvc : virtual public IInterface {
33
34public:
37
39 virtual StatusCode initPool( const int& poolSize, const int& maxParallelismExtra ) = 0;
40
43
45 virtual int poolSize() const = 0;
46
50 virtual void initThisThread() = 0;
51};
#define GAUDI_API
Definition Kernel.h:49
Definition of the basic interface.
Definition IInterface.h:225
Abstract interface for a service that manages a thread pool.
virtual StatusCode initPool(const int &poolSize, const int &maxParallelismExtra)=0
Initializes the thread pool.
virtual int poolSize() const =0
Size of the initialized thread pool.
virtual void initThisThread()=0
Do thread local initialization of current thread.
virtual StatusCode terminatePool()=0
Finalize the thread pool.
DeclareInterfaceID(IThreadPoolSvc, 1, 0)
InterfaceID.
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64