Behavior-Oriented Concurrency for Python

mpweiher 67 points 9 comments May 06, 2026
microsoft.github.io · View on Hacker News

Discussion Highlights (5 comments)

hanselot

Is it just me or is the example they use for the locking extremely badly implemented? Why would one ever result at that methodology?

krystalgamer

the example is atrocious, seems like erlang actor model but for python.

chombier

I was a bit curious to learn what the differences are between this and the actor model, and I found this lobste.rs discussion to be helpful: https://lobste.rs/s/gsjskz/behavior_oriented_concurrency_for > In BoC, the equivalent of a message is received by multiple actors and operates with exclusive access to the message and all of the receivers. (emphasis mine) IIUC with actors, messages are processed by exactly one actor so it can be difficult to express transactions (e.g. transferring funds from A to B cannot be done atomically). Erlang somewhat fixes this with "selective receive" which re-introduces the possibility of deadlocks. BoC fixes both issues.

vivzkestrel

- stupid question: what is different about this concurrency compared to say asyncio?

traderj0e

Was wondering how this is using a separate GIL per action when the actions are pure Python code. "PEP 684 introduces a per-interpreter GIL, so that sub-interpreters may now be created with a unique GIL per interpreter."

Semantic search powered by Rivestack pgvector
8,303 stories · 78,303 chunks indexed