
scheduler
这个在tokio里面是一整个文件夹,受限于时间原因,目前只挑一些较为重要的部分进行阅读。
我们前面知道了scheduler/mod.rs是一个抽象封装库,所以这里就不赘述了。
当scheduler进来的时候,会根据前面的配置进入对应的Context,而Context具体的定义在worker里面;
multi_thread/worker.rs
pub(crate) struct Context {
/// Worker
worker: Arc<Worker>,
/// Core data
core: RefCell<Option<Box<Core>>>,
/// Tasks to wake after resource drivers are polled. This is mostly to
/// handle yielded tasks.
pub(crate) defer: Defer,
}
2025/12/31大约 4 分钟