【问题标题】:How can i implement concurrency in C like we do in go? [closed]我怎样才能像在 Go 中那样在 C 中实现并发? [关闭]
【发布时间】:2021-11-18 22:34:26
【问题描述】:

我想在 C 中实现 go 的并发性,因为我已经看到它提高了 go 的 [性能]。我没有尝试过任何东西,因为我不明白该尝试什么。我该怎么做?

【问题讨论】:

  • 你想用 C 实现什么模式?
  • C11 向 C 中添加了并发性,但这些设施并未得到广泛实施。否则,您的选择是特定于平台的。您的目标是哪个平台?
  • 我要定位所有平台
  • 您的目标是实现协程、多线程还是其他类型的并发/并行?

标签: c go concurrency


【解决方案1】:

协程在 C 原生中不可用(尽管从 C++20 开始它们在 C++ 中受支持),因此您将依赖外部库或者您必须自己实现一些东西。

一些有用的资源:@​​987654321@、another small examplea C library called libacoan interesting article with an alternative approach

另一种方法可能是使用事件循环,这与 JavaScript 用于在单个线程中实现并发的方法相同。最常用的库之一是libuvhere's a small example of using libuv

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-25
    • 2016-02-27
    • 1970-01-01
    • 2012-02-09
    • 2015-07-30
    • 2023-02-23
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多