m0_57781768 2022-10-24 22:34 采纳率: 100%
浏览 5
已结题

如何像在 Go 中使用 goroutine 一样在 Rust 中启动后台函数?

我在学习 Rust ,我原来是学习Go的。
使用 Go 很容易在 goroutine 中启动一个函数,即使我返回父函数,例如:

用代码块功能插入代码,请勿粘贴截图
func doSomething() {
  // do something

  go func() {
    // do something longer
    // this doesn't block doSomething and also handles optional errors
  }()

  return // something
}

我怎样才能在 Rust 中做到这一点?

假设我有这个代码:

#[tokio::main]
async fn main() {
    doSomething().await;
}

async fn doSomething() {
    // do something

    // How to start something longer here?
    // I don't want to block doSomething function here, this is only a background task I need to start.

    return // something
}
  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 11月1日
      • 已采纳回答 10月24日
      • 创建了问题 10月24日

      悬赏问题

      • ¥15 看一个晶振的说明书,有一些疑问
      • ¥100 用YOLOv5检测胸部肿瘤之前处理步骤
      • ¥15 关于H.265中查表估算编码比特数的相关问题
      • ¥15 关于#AC正确率#的问题,如何解决?
      • ¥30 pyinstaller后不执行print且不能退出
      • ¥15 IncredBuild报错
      • ¥15 锂电池偏最小二乘法参数辩识
      • ¥15 session失效问题
      • ¥15 GMS地下水数值模拟无法打开
      • ¥15 树型结构的数据怎么匹配分支