Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

5
  • If your intention is to use a stack for invocation, calling & returning, parameter passing, etc.., then separate threads of control each need their own independent call stack, else it doesn't work. Commented Nov 29, 2019 at 2:06
  • Otherwise, an async stack may implement some kind of work or job queue (but not a function call stack). In such case, you need proper multithreaded synchronization of the operations that push, peek, and pop. Commented Nov 29, 2019 at 2:08
  • You should wait a bit longer before accepting answers. Commented Nov 29, 2019 at 3:28
  • You might be interested in this answer Commented Nov 30, 2019 at 8:37
  • Given that you way in a newer question that you are emulating an operating system, you probably want the scheduler to take control and yield teh task when they are not expecting it. That is, preemptive multithreading instead of cooperative multithreading. You might be interested in Multi Programming - Computerphile and OS Context Switching - Computerphile. Commented Dec 1, 2019 at 1:54