xwrust::xwos

Module cthd

source
Expand description

§XWOS RUST:当前线程

此模块中的方法,只会对代码所运行的线程起作用。命名中的 ccurrent 的意思。

§获取自身的线程描述符

线程可通过方法 i() 获取自身的线程描述符。

§通知调度器重新调度线程

线程可通过方法 yield_now() 主动让出CPU的使用权。

§判断当前线程是否可被冻结

线程可通过方法 shld_frz() 判断是否需要冻结,如果是,可调用 freeze() 冻结自身。

线程的冻结只会发生在一些特殊的条件下:

  • 系统开始低功耗流程;
  • 线程在CPU之间迁移。

§判断当前线程是否可退出

线程可通过方法 shld_stop() 判断是否被设置了 退出状态退出状态 是其他线程通过 DThdHandle::stop() 方法设置的。

§线程睡眠

§睡眠

线程可以通过方法 sleep() 指定需要睡眠多长时间,线程唤醒的时间可能会略微超过指定的时长。

§睡眠到指定的时间点

当需要到某个时间点唤醒时,可以通过 sleep_to() 方法睡眠。此方法不关心睡眠多长时间,只关心到哪个时间唤醒。

§从一个时间起点睡眠到另一个时间点

方法 sleep_from() 可以指定从某个时间点开始睡眠,持续多长时间。

§冻结线程

当线程通过方法 shld_frz() 判断出需要冻结时,可通过方法 freeze() 冻结自身。冻结之前需要释放掉所有资源。

Functions§

  • 冻结当前线程
  • 获取当前线程的对象描述符
  • 判断当前线程是否可被冻结
  • 判断当前线程是否可退出
  • 线程睡眠一段时间
  • 线程从一个时间起点睡眠到另一个时间点
  • 线程睡眠到一个时间点
  • 通知调度器重新调度线程