#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 void * | G4ThreadFunReturnType |
| typedef void * | G4ThreadFunArgType |
| 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 > | |
| G4Mutex & | G4TypeMutex (const unsigned int &_n=0) |
| template<typename _Tp > | |
| G4RecursiveMutex & | G4TypeRecursiveMutex (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 | ) | ;; |
G4Threading.hh 파일의 90 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : G4CollisionComposite::~G4CollisionComposite(), G4ElasticHadrNucleusHE::~G4ElasticHadrNucleusHE(), G4GeneralParticleSourceData::~G4GeneralParticleSourceData(), G4SingleParticleSource::~G4SingleParticleSource(), G4SPSAngDistribution::~G4SPSAngDistribution(), G4SPSEneDistribution::~G4SPSEneDistribution(), G4SPSPosDistribution::~G4SPSPosDistribution(), G4SPSRandomGenerator::~G4SPSRandomGenerator(), G4ThreadLocalSingleton< T >::~G4ThreadLocalSingleton(), G4VDecayChannel::~G4VDecayChannel().
| #define G4MUTEXINIT | ( | mutex | ) | ;; |
G4Threading.hh 파일의 89 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : G4CollisionComposite::G4CollisionComposite(), G4ElasticHadrNucleusHE::G4ElasticHadrNucleusHE(), G4GeneralParticleSourceData::G4GeneralParticleSourceData(), G4GeomSplitter< T >::G4GeomSplitter(), G4PDefManager::G4PDefManager(), G4SingleParticleSource::G4SingleParticleSource(), G4SPSAngDistribution::G4SPSAngDistribution(), G4SPSEneDistribution::G4SPSEneDistribution(), G4SPSPosDistribution::G4SPSPosDistribution(), G4SPSRandomGenerator::G4SPSRandomGenerator(), G4ThreadLocalSingleton< T >::G4ThreadLocalSingleton(), G4VDecayChannel::G4VDecayChannel(), G4VUPLSplitter< T >::G4VUPLSplitter(), G4VDecayChannel::operator=().
| #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 번째 라인에서 정의되었습니다.
| using G4Future = std::future<_Tp> |
G4Threading.hh 파일의 98 번째 라인에서 정의되었습니다.
| typedef std::mutex G4Mutex |
G4Threading.hh 파일의 84 번째 라인에서 정의되었습니다.
G4Threading.hh 파일의 230 번째 라인에서 정의되었습니다.
G4Threading.hh 파일의 239 번째 라인에서 정의되었습니다.
| using G4Promise = std::promise<_Tp> |
G4Threading.hh 파일의 97 번째 라인에서 정의되었습니다.
| typedef std::recursive_mutex G4RecursiveMutex |
G4Threading.hh 파일의 85 번째 라인에서 정의되었습니다.
| using G4SharedFuture = std::shared_future<_Tp> |
G4Threading.hh 파일의 99 번째 라인에서 정의되었습니다.
| typedef G4DummyThread G4Thread |
G4Threading.hh 파일의 229 번째 라인에서 정의되었습니다.
| typedef void* G4ThreadFunArgType |
G4Threading.hh 파일의 103 번째 라인에서 정의되었습니다.
| typedef void* G4ThreadFunReturnType |
G4Threading.hh 파일의 102 번째 라인에서 정의되었습니다.
G4Threading.hh 파일의 104 번째 라인에서 정의되었습니다.
G4Threading.hh 파일의 105 번째 라인에서 정의되었습니다.
| void G4THREADCREATE | ( | _Worker *& | worker, |
| _Func | func, | ||
| _Args... | args | ||
| ) |
G4Threading.hh 파일의 244 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : G4VisManager::BeginOfRun(), main().
G4Threading.hh 파일의 114 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : G4Cache< VALTYPE >::G4Cache(), G4Cache< VALTYPE >::~G4Cache().
| G4RecursiveMutex& G4TypeRecursiveMutex | ( | const unsigned int & | _n = 0 | ) |
G4Threading.hh 파일의 135 번째 라인에서 정의되었습니다.
1.8.5