6 #include "../date_time.h" 7 #include "../icomparable.h" 8 #include "../iequatable.h" 68 explicit mutex(
bool initially_owned);
90 mutex(
bool initially_owned,
const ustring& name,
bool& created_new);
94 template <
typename char_t>
95 explicit mutex(
const char_t* name) : mutex(
ustring(name)) {}
102 intptr handle() const noexcept override;
103 void handle(
intptr value) override;
113 void close() override;
115 int32 compare_to(const
mutex& value) const noexcept override;
117 bool equals(const
mutex& value) const noexcept override;
134 void release_mutex();
142 bool try_lock() noexcept;
164 bool try_lock_until(const
date_time& timeout_time) noexcept;
170 static
bool try_open_existing(const
ustring& name,
mutex& result) noexcept;
185 bool wait(
int32 milliseconds_timeout) override;
190 void create(
bool initially_owned,
bool& created_new);
191 std::shared_ptr<mutex_base> mutex_;
signal
Specifies signals that can interrupt the current process.
Definition: signal.h:18
intmax_t intptr
Represent a pointer or a handle.
Definition: types.h:151
Contains xtd::threading::wait_handle exception.
intptr native_handle_type
Rpresents the native handle type.
Definition: mutex.h:57
Defines a generalized comparison method that a value type or class implements to create a type-specif...
Definition: icomparable.h:17
Provides a mechanism that synchronizes access to objects with xtd::threading::monitor.
Definition: lock_guard.h:30
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
A synchronization primitive that can also be used for interprocess synchronization.
Definition: mutex.h:48
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:46
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition: iequatable.h:18
Represents an instant in time, typically expressed as a date and time of day.
Definition: date_time.h:78
Creates and controls a thread, sets its priority, and gets its status.
Definition: thread.h:41
Represents a time interval.
Definition: time_span.h:26
int_least32_t int32
Represents a 32-bit signed integer.
Definition: types.h:129
Contains a constant used to specify an infinite amount of time. This class cannot be inherited...
Definition: timeout.h:31
Encapsulates operating system specific objects that wait for exclusive access to shared resources...
Definition: wait_handle.h:48