Geant4  v4-10.4-release
 모두 클래스 네임스페이스들 파일들 함수 변수 타입정의 열거형 타입 열거형 멤버 Friends 매크로 그룹들 페이지들
클래스 | 네임스페이스 | 매크로 | 타입정의 | 열거형 타입 | 함수
G4Threading.hh 파일 참조
#include "G4Types.hh"
#include <chrono>
#include <thread>
#include <mutex>
#include <condition_variable>
#include <future>
#include <vector>

이 파일의 소스 코드 페이지로 가기

클래스

class  G4DummyThread
 

네임스페이스

 G4ThisThread
 
 G4Threading
 

매크로

#define G4THREADSLEEP(tick)   std::this_thread::sleep_for(std::chrono::seconds( tick ))
 
#define G4MUTEX_INITIALIZER   {}
 
#define G4MUTEXINIT(mutex)   ;;
 
#define G4MUTEXDESTROY(mutex)   ;;
 
#define G4MUTEXLOCK(mutex)   ;;
 
#define G4MUTEXUNLOCK(mutex)   ;;
 
#define G4THREADJOIN(worker)   ;;
 
#define G4CONDITION_INITIALIZER   1
 
#define G4CONDITIONWAIT(cond, mutex)   { (*cond)++; }
 
#define G4CONDITIONWAITLAMBDA(cond, mutex, lambda)   { (*cond)++; }
 
#define G4CONDITIONBROADCAST(cond)   { (*cond)++; }
 

타입정의

typedef std::mutex G4Mutex
 
typedef std::recursive_mutex G4RecursiveMutex
 
template<typename _Tp >
using G4Promise = std::promise< _Tp >
 
template<typename _Tp >
using G4Future = std::future< _Tp >
 
template<typename _Tp >
using G4SharedFuture = std::shared_future< _Tp >
 
typedef voidG4ThreadFunReturnType
 
typedef voidG4ThreadFunArgType
 
typedef G4int(* thread_lock )(G4Mutex *)
 
typedef G4int(* thread_unlock )(G4Mutex *)
 
typedef G4DummyThread G4Thread
 
typedef
G4DummyThread::native_handle_type 
G4NativeThread
 
typedef G4int G4Pid_t
 
typedef G4int G4Condition
 

열거형 타입

enum  { G4Threading::SEQUENTIAL_ID = -2, G4Threading::MASTER_ID = -1, G4Threading::WORKER_ID = 0, G4Threading::GENERICTHREAD_ID = -1000 }
 

함수

template<typename _Tp >
G4MutexG4TypeMutex (const unsigned int &_n=0)
 
template<typename _Tp >
G4RecursiveMutexG4TypeRecursiveMutex (const unsigned int &_n=0)
 
template<typename _Worker , typename _Func , typename... _Args>
void G4THREADCREATE (_Worker *&worker, _Func func, _Args...args)
 
G4Pid_t G4Threading::G4GetPidId ()
 
G4int G4Threading::G4GetNumberOfCores ()
 
G4int G4Threading::G4GetThreadId ()
 
G4bool G4Threading::IsWorkerThread ()
 
G4bool G4Threading::IsMasterThread ()
 
void G4Threading::G4SetThreadId (G4int aNewValue)
 
G4bool G4Threading::G4SetPinAffinity (G4int idx, G4NativeThread &at)
 
void G4Threading::SetMultithreadedApplication (G4bool value)
 
G4bool G4Threading::IsMultithreadedApplication ()
 
int G4Threading::WorkerThreadLeavesPool ()
 
int G4Threading::WorkerThreadJoinsPool ()
 
G4int G4Threading::GetNumberOfRunningWorkerThreads ()
 

매크로 문서화

#define G4CONDITION_INITIALIZER   1

G4Threading.hh 파일의 250 번째 라인에서 정의되었습니다.

#define G4CONDITIONBROADCAST (   cond)    { (*cond)++; }

G4Threading.hh 파일의 253 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4MTBarrier::ReleaseBarrier(), G4MTBarrier::ThisWorkerReady().

#define G4CONDITIONWAIT (   cond,
  mutex 
)    { (*cond)++; }

G4Threading.hh 파일의 251 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4MTBarrier::ThisWorkerReady(), G4MTBarrier::Wait().

#define G4CONDITIONWAITLAMBDA (   cond,
  mutex,
  lambda 
)    { (*cond)++; }

G4Threading.hh 파일의 252 번째 라인에서 정의되었습니다.

#define G4MUTEX_INITIALIZER   {}

G4Threading.hh 파일의 88 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : TSRun::RecordEvent().

#define G4MUTEXDESTROY (   mutex)    ;;
#define G4MUTEXINIT (   mutex)    ;;
#define G4MUTEXLOCK (   mutex)    ;;

G4Threading.hh 파일의 233 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4NuclearLevelData::AddPrivateData(), G4VisManager::BeginOfRun(), G4NistMaterialBuilder::BuildNistMaterial(), G4NeutronElasticXS::BuildPhysicsTable(), G4NeutronCaptureXS::BuildPhysicsTable(), G4NeutronInelasticXS::BuildPhysicsTable(), G4ParticleInelasticXS::BuildPhysicsTable(), G4ImportanceAlgorithm::Calculate(), G4WentzelVIRelModel::ComputeEffectiveMass(), G4VisManager::EndOfEvent(), G4VisManager::EndOfRun(), G4NistElementBuilder::FindOrBuildElement(), G4ParticleTable::FindParticle(), G4BinaryCascade::G4BinaryCascade(), G4BinaryLightIonReaction::G4BinaryLightIonReaction(), G4VAtomDeexcitation::G4VAtomDeexcitation(), G4IStore::GetImportance(), G4NuclearLevelData::GetInstance(), G4IonTable::GetIon(), G4IonTable::GetMuonicAtom(), G4WentzelOKandVIxSection::InitialiseA(), G4ICRU49NuclearStoppingModel::InitialiseArray(), G4NuclearLevelData::InitialiseForIsotope(), G4PhotonEvaporation::InitialiseGRData(), G4ConcreteMesonBaryonToResonance::InitialisePointers(), G4FermiBreakUpVI::InitialisePool(), G4VUserPhysicsList::InitializeProcessManager(), G4EmParameters::Instance(), G4NistManager::Instance(), G4IStore::IsKnown(), G4GeneralParticleSourceData::Lock(), G4VUserPhysicsList::RemoveProcessManager(), G4EmParameters::SetBirksActive(), G4DeexPrecoParameters::SetDefaults(), G4IonisParamMat::SetDensityEffectParameters(), G4Material::SetMaterialPropertiesTable(), G4ParticleTable::WorkerG4ParticleTable().

#define G4MUTEXUNLOCK (   mutex)    ;;

G4Threading.hh 파일의 234 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4NuclearLevelData::AddPrivateData(), G4VisManager::BeginOfRun(), G4NistMaterialBuilder::BuildNistMaterial(), G4NeutronElasticXS::BuildPhysicsTable(), G4NeutronCaptureXS::BuildPhysicsTable(), G4NeutronInelasticXS::BuildPhysicsTable(), G4ParticleInelasticXS::BuildPhysicsTable(), G4ImportanceAlgorithm::Calculate(), G4WentzelVIRelModel::ComputeEffectiveMass(), G4VisManager::EndOfEvent(), G4VisManager::EndOfRun(), G4NistElementBuilder::FindOrBuildElement(), G4ParticleTable::FindParticle(), G4BinaryCascade::G4BinaryCascade(), G4BinaryLightIonReaction::G4BinaryLightIonReaction(), G4VAtomDeexcitation::G4VAtomDeexcitation(), G4IStore::GetImportance(), G4NuclearLevelData::GetInstance(), G4IonTable::GetIon(), G4IonTable::GetMuonicAtom(), G4WentzelOKandVIxSection::InitialiseA(), G4ICRU49NuclearStoppingModel::InitialiseArray(), G4NuclearLevelData::InitialiseForIsotope(), G4PhotonEvaporation::InitialiseGRData(), G4ConcreteMesonBaryonToResonance::InitialisePointers(), G4FermiBreakUpVI::InitialisePool(), G4VUserPhysicsList::InitializeProcessManager(), G4EmParameters::Instance(), G4NistManager::Instance(), G4IStore::IsKnown(), G4VUserPhysicsList::RemoveProcessManager(), G4EmParameters::SetBirksActive(), G4DeexPrecoParameters::SetDefaults(), G4IonisParamMat::SetDensityEffectParameters(), G4Material::SetMaterialPropertiesTable(), G4GeneralParticleSourceData::Unlock(), G4ParticleTable::WorkerG4ParticleTable().

#define G4THREADJOIN (   worker)    ;;

G4Threading.hh 파일의 237 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4VisManager::EndOfRun(), main().

#define G4THREADSLEEP (   tick)    std::this_thread::sleep_for(std::chrono::seconds( tick ))

G4Threading.hh 파일의 52 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4VisManager::EndOfEvent().

타입정의 문서화

typedef G4int G4Condition

G4Threading.hh 파일의 249 번째 라인에서 정의되었습니다.

template<typename _Tp >
using G4Future = std::future<_Tp>

G4Threading.hh 파일의 98 번째 라인에서 정의되었습니다.

typedef std::mutex G4Mutex

G4Threading.hh 파일의 84 번째 라인에서 정의되었습니다.

G4Threading.hh 파일의 230 번째 라인에서 정의되었습니다.

typedef G4int G4Pid_t

G4Threading.hh 파일의 239 번째 라인에서 정의되었습니다.

template<typename _Tp >
using G4Promise = std::promise<_Tp>

G4Threading.hh 파일의 97 번째 라인에서 정의되었습니다.

typedef std::recursive_mutex G4RecursiveMutex

G4Threading.hh 파일의 85 번째 라인에서 정의되었습니다.

template<typename _Tp >
using G4SharedFuture = std::shared_future<_Tp>

G4Threading.hh 파일의 99 번째 라인에서 정의되었습니다.

G4Threading.hh 파일의 229 번째 라인에서 정의되었습니다.

G4Threading.hh 파일의 103 번째 라인에서 정의되었습니다.

G4Threading.hh 파일의 102 번째 라인에서 정의되었습니다.

typedef G4int(* thread_lock)(G4Mutex *)

G4Threading.hh 파일의 104 번째 라인에서 정의되었습니다.

typedef G4int(* thread_unlock)(G4Mutex *)

G4Threading.hh 파일의 105 번째 라인에서 정의되었습니다.

함수 문서화

template<typename _Worker , typename _Func , typename... _Args>
void G4THREADCREATE ( _Worker *&  worker,
_Func  func,
_Args...  args 
)

G4Threading.hh 파일의 244 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4VisManager::BeginOfRun(), main().

template<typename _Tp >
G4Mutex& G4TypeMutex ( const unsigned int _n = 0)

G4Threading.hh 파일의 114 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4Cache< VALTYPE >::G4Cache(), G4Cache< VALTYPE >::~G4Cache().

template<typename _Tp >
G4RecursiveMutex& G4TypeRecursiveMutex ( const unsigned int _n = 0)

G4Threading.hh 파일의 135 번째 라인에서 정의되었습니다.