Geogram
Version 1.9.1
A programming library of geometric algorithms
|
Function and classes for process manipulation. More...
#include <geogram/basic/common.h>
#include <geogram/basic/thread_sync.h>
#include <geogram/basic/counted.h>
#include <geogram/basic/smart_pointer.h>
#include <functional>
Go to the source code of this file.
Classes | |
class | GEO::Thread |
Platform-independent base class for running threads. More... | |
class | GEO::TypedThreadGroup< THREAD > |
Typed collection of Threads. More... | |
class | GEO::ThreadManager |
Platform-independent base class for running concurrent threads. More... | |
class | GEO::MonoThreadingThreadManager |
Single thread ThreadManager. More... | |
Namespaces | |
GEO | |
Global Vorpaline namespace. | |
GEO::Process | |
Abstraction layer for process management and multi-threading. | |
Typedefs | |
typedef SmartPointer< Thread > | GEO::Thread_var |
typedef std::vector< Thread_var > | GEO::ThreadGroup |
Collection of Threads. More... | |
typedef SmartPointer< ThreadManager > | GEO::ThreadManager_var |
Functions | |
void | GEO::Process::initialize (int flags) |
Initializes GeogramLib. More... | |
void | GEO::Process::terminate () |
Terminates GeogramLib. More... | |
void | GEO::Process::sleep (index_t microseconds) |
Sleeps for a period of time. More... | |
void | GEO::Process::show_stats () |
Displays statistics about the current process. More... | |
void | GEO::Process::brute_force_kill () |
Terminates the current process. | |
index_t | GEO::Process::maximum_concurrent_threads () |
Returns the maximum number of threads that can be running simultaneously. More... | |
void | GEO::Process::run_threads (ThreadGroup &threads) |
Runs a set of threads simultaneously. More... | |
index_t | GEO::Process::number_of_cores () |
Gets the number of available cores. More... | |
void | GEO::Process::set_thread_manager (ThreadManager *thread_manager) |
Sets the thread manager (internal use). More... | |
bool | GEO::Process::is_running_threads () |
Checks whether threads are running. More... | |
void | GEO::Process::enable_FPE (bool flag) |
Enables/disables floating point exceptions. More... | |
bool | GEO::Process::FPE_enabled () |
Gets the status of floating point exceptions. More... | |
void | GEO::Process::enable_multithreading (bool flag) |
Enables/disables multi-threaded computations Multi-threading can also be configured by setting the value of the property "sys:multithread" with Environment::set_value(). More... | |
bool | GEO::Process::multithreading_enabled () |
Gets the status of multi-threading. More... | |
void | GEO::Process::set_max_threads (index_t num_threads) |
Limits the number of concurrent threads to use. More... | |
index_t | GEO::Process::max_threads () |
Gets the number of allowed concurrent threads. More... | |
void | GEO::Process::enable_cancel (bool flag) |
Enables interruption of cancelable tasks. More... | |
bool | GEO::Process::cancel_enabled () |
Gets the status of the cancel mode. More... | |
size_t | GEO::Process::used_memory () |
Gets the currently used memory. More... | |
size_t | GEO::Process::max_used_memory () |
Gets the maximum used memory. More... | |
std::string | GEO::Process::executable_filename () |
Gets the full path to the currently running program. | |
void | GEO::Process::print_stack_trace () |
Prints a stack trace to the standard error. | |
void | GEO::parallel_for (index_t from, index_t to, std::function< void(index_t)> func, index_t threads_per_core=1, bool interleaved=false) |
Executes a loop with concurrent threads. More... | |
void | GEO::parallel_for_slice (index_t from, index_t to, std::function< void(index_t, index_t)> func, index_t threads_per_core=1) |
Executes a loop with concurrent threads. More... | |
void | GEO::parallel (std::function< void()> f1, std::function< void()> f2) |
Calls functions in parallel. More... | |
void | GEO::parallel (std::function< void()> f1, std::function< void()> f2, std::function< void()> f3, std::function< void()> f4) |
Calls functions in parallel. More... | |
void | GEO::parallel (std::function< void()> f1, std::function< void()> f2, std::function< void()> f3, std::function< void()> f4, std::function< void()> f5, std::function< void()> f6, std::function< void()> f7, std::function< void()> f8) |
Calls functions in parallel. More... | |
Function and classes for process manipulation.
Definition in file process.h.