5#include "libxr_def.hpp"
6#include "monotonic_time.hpp"
11extern struct timespec libxr_linux_start_time_spec;
17 timespec ts = MonotonicTime::RelativeFromMilliseconds(milliseconds);
18 while (clock_nanosleep(CLOCK_MONOTONIC, 0, &ts, &ts) == EINTR)
25 last_waskup_time = last_waskup_time + time_to_sleep;
28 MonotonicTime::AddMilliseconds(libxr_linux_start_time_spec, last_waskup_time);
30 while (clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &ts,
nullptr) == EINTR)
表示毫秒级时间戳的类。Class representing a timestamp in milliseconds.
线程管理类,封装 POSIX 线程创建和调度 Thread management class encapsulating POSIX thread creation and scheduling
Thread()
默认构造函数,初始化空线程 Default constructor initializing an empty thread
static uint32_t GetTime()
获取当前系统时间(毫秒) Gets the current system time in milliseconds
static void SleepUntil(MillisecondTimestamp &last_waskup_time, uint32_t time_to_sleep)
让线程休眠直到指定时间点 Puts the thread to sleep until a specified time
static Thread Current(void)
获取当前线程对象 Gets the current thread object
static void Sleep(uint32_t milliseconds)
让线程进入休眠状态 Puts the thread to sleep
static void Yield()
让出 CPU 以执行其他线程 Yields CPU execution to allow other threads to run
static MillisecondTimestamp GetMilliseconds()
获取当前时间的毫秒级时间戳。 Gets the current timestamp in milliseconds.