It seems the answer is “Not available right now, let’s work on an API”? I think that matches my perspective on this, in that it isn’t worth a “mortal” developer’s time right now. Rarely have I hit a scenario where a lock is the primary source of inefficiency and crossing thread boundaries.
The Go approach of “Do not communicate by sharing memory” holds well, because CPU and memory do not always compose as one would expect (As the author of the post notes). Passing messages simplifies a lot of things because you learn to now rely on a specific thread or order, or program defensively against that possibility.
The Go approach of “Do not communicate by sharing memory” holds well, because CPU and memory do not always compose as one would expect (As the author of the post notes). Passing messages simplifies a lot of things because you learn to now rely on a specific thread or order, or program defensively against that possibility.