BioDynaMo  v1.05.119-a4ff3934
thread_info.cc
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 //
3 // Copyright (C) 2021 CERN & University of Surrey for the benefit of the
4 // BioDynaMo collaboration. All Rights Reserved.
5 //
6 // Licensed under the Apache License, Version 2.0 (the "License");
7 // you may not use this file except in compliance with the License.
8 //
9 // See the LICENSE file distributed with this work for details.
10 // See the NOTICE file distributed with this work for additional information
11 // regarding copyright ownership.
12 //
13 // -----------------------------------------------------------------------------
14 
15 #include "core/util/thread_info.h"
16 
17 namespace bdm {
18 
19 std::atomic<uint64_t> ThreadInfo::thread_counter_;
20 
22  static ThreadInfo kInstance;
23  return &kInstance;
24 }
25 
27  thread_local uint64_t kTid = thread_counter_++;
28  return kTid;
29 }
30 
31 } // namespace bdm
bdm::ThreadInfo::GetInstance
static ThreadInfo * GetInstance()
Definition: thread_info.cc:21
bdm
Definition: agent.cc:39
thread_info.h
bdm::ThreadInfo::thread_counter_
static std::atomic< uint64_t > thread_counter_
Definition: thread_info.h:135
bdm::ThreadInfo::GetUniversalThreadId
uint64_t GetUniversalThreadId() const
Definition: thread_info.cc:26
bdm::ThreadInfo
This class stores information about each thread. (e.g. to which NUMA node it belongs to....
Definition: thread_info.h:31