Soft question: async-io vs goroutine-csp

What are example of problems that are easy to solve via goroutine-csp but messy to solve via rust/async-io ?

Something where you call something that sometimes, but not too often, uses a lot of CPU time.

Somewhat related: both goroutines and async give you a csp-flavored model of concurrency — you code a linear flow which is sometimes paused by waiting for the operation to complete.

An alternative model for concurrency is to write an explicit state machine that reacts to events without any blocking (pure actorish model).

The first approach is good to keep track of several concurrent activities which have well-defined begins and ends. The second approach is good to keep track of the evolution of state in the system and implementing invariants and state bases triggers.

See https://github.com/rust-lang/wg-async-foundations/issues/90 and the links there in for discussion.

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.