thread doc ru

This commit is contained in:
2022-04-21 22:26:49 +03:00
parent 93b881da1b
commit 9deae168a6
7 changed files with 468 additions and 97 deletions

View File

@@ -27,11 +27,18 @@
//!
//! \~\details
//! \~english
//! %PISpinlock provides synchronization blocks between several threads.
//! PISpinlock functionality similar to PIMutex, but working on atomic
//! type and \a lock() method wait with 100% CPU load.
//! %PISpinlock provides critical code section defence between several threads.
//! %PISpinlock functionality similar to PIMutex, but working on atomic
//! type and \a lock() method wait with 100% CPU core load.
//!
//! For automatic lock-unlock use \a PISpinlockLocker.
//!
//! \~russian
//! %PISpinlock предоставляет межпотоковую защиту критических секций кода.
//! Функционально он аналогичен PIMutex, однако работает на атомарном типе
//! и ожидание разблокировки в методе \a lock() нагружает ядро ЦП на 100%.
//!
//! Для автоматической блокировки-разблокировки используйте \a PISpinlockLocker.
//!
//! \~\note
//! \~english
@@ -39,6 +46,8 @@
//! important than CPU load!
//!
//! \~russian
//! Используйте этот класс вместо PIMutex когда время ожидания гораздо важнее
//! чем нагрузка на ЦП!
//!
//! \}
@@ -49,17 +58,26 @@
//!
//! \~\brief
//! \~english %PISpinlock autolocker
//! \~russian
//! \~russian Автоблокировщик %PISpinlock
//!
//!
//! \~\details
//! \~english
//! When a PISpinlockLocker object is created, it attempts to lock the spinlock it is given, if "condition" true.
//! When control leaves the scope in which the PISpinlockLocker object was created,
//! the PISpinlockLocker is destructed and the spinlock is released, if "condition" true.
//! When a %PISpinlockLocker object is created, it attempts to lock the spinlock it is given, if "condition" true.
//! When control leaves the scope in which the %PISpinlockLocker object was created,
//! the %PISpinlockLocker is destructed and the spinlock is released, if "condition" true.
//!
//! If "condition" false this class do nothing.
//! The PISpinlockLocker class is non-copyable.
//!
//! The %PISpinlockLocker class is non-copyable.
//!
//! \~russian
//! При создании экземпляра %PISpinlockLocker блокируется переданный спинлок, если "condition" \c true.
//! Когда выполнение покидает область жизни объекта, вызывается его деструктор и спинлок
//! разблокируется, если "condition" был \c true.
//!
//! Если "condition" \c false, то этот объект ничего не делает.
//!
//! Класс %PISpinlockLocker некопируемый.
//!
//! \}