【问题标题】:Goroutine vs Threads in Linux vs Windows or any other OSLinux 与 Windows 或任何其他操作系统中的 Goroutine 与线程
【发布时间】:2022-06-15 21:59:10
【问题描述】:

我遇到了这两篇文章:

  1. https://www.geeksforgeeks.org/golang-goroutine-vs-thread/
  2. https://medium.com/the-polyglot-programmer/what-are-goroutines-and-how-do-they-actually-work-f2a734f6f991

我想澄清一下,应用程序是一个进程,goroutine 由 go 运行时调度程序管理,运行线程的是 goruntime 调度程序,它们是两个不同的东西。

更重要的是,它在 linux 与 windows 或任何其他操作系统上的运行方式有何不同,因为 linux 将每个“线程”和“进程”视为一项任务,无论是否有共享内存。那么是不是意味着 linux OS 中的 goroutine 有更大的空间呢。我们实际上可以创建 2 个不共享内存的 goroutines/task。

所以因为它是由操作系统决定的,所以在用户级别/代码级别我们无法真正控制它?

提前谢谢你。

【问题讨论】:

  • “由操作系统决定”是什么意思?您刚刚列出了操作系统与线程工作方式的差异。正如你所说,线程和 goroutine 是两种不同的东西。
  • 你根本无法直接控制 Go 中的线程,所以我不确定你在这里问什么。

标签: go goroutine


猜你喜欢
  • 2019-04-09
  • 2011-11-17
  • 2020-09-12
  • 2011-05-24
  • 2020-10-08
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多