pub fn freeze() -> XwEr
Expand description
冻结当前线程
线程并不能随时冻结,必须满足下列条件之一:
- 系统已经开始准备进入低功耗;
- 线程正准备开始迁移。
线程可通过 shld_frz()
判断是否满足冻结条件。
通常冻结操作之前,还需要对资源进行释放,以防止线程阻碍系统进入低功耗; 通常解冻操作之后,还需要重新获取资源。
§返回值
- 0: 睡眠成功
- -EPERM: 当前不需要冻结线程
§上下文
- 线程
§示例
use use xwrust::xwos::cthd;
if cthd::shld_frz() {
let rc = cthd::freeze();
}