multithreading - tokio什么时候产生线程?
问题描述
如果我的代码有
#[tokio::main]
async fn main() {
// mutates a global read-only variable "unsafe"
全局只读变量的突变会在 Tokio 设置其线程池之前还是之后发生?
解决方案
来自tokio 文档:
#[tokio::main] async fn main() { println!("Hello world"); }
等效代码不使用
#[tokio::main]
fn main() { tokio::runtime::Builder::new_multi_thread() .enable_all() .build() .unwrap() .block_on(async { println!("Hello world"); }) }
因此,其中的代码在执行程序async fn main()
启动后由执行程序运行。
推荐阅读
- python - Python 日期时间与格式不匹配
- javascript - 用 ajax 填充谷歌可视化表
- assembly - 与汇编语言程序的链接问题
- node.js - 进程未终止且消息未在 nodejs 中显示
- javascript - moment.js - 转换祖鲁时间
- ionic-framework - 状态栏在 ionic 3 中不起作用
- ms-access - 启动位于当前项目路径中的 pdf 文件
- numpy - 从 numpy 数组中删除重复的值
- r - 闪亮的应用程序。未正确显示 ggplot2 facet_grid;不显示任何构面,仅更改构面标题标题
- javascript - IF 向上滚动 - 调用函数