#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 번째 라인에서 정의되었습니다.