Remix.run Logo
gpderetta 4 days ago

That's quite interesting, but it doesn't answer the question: Would the python program running on an interpreter written in pony deadlock or not?

gf000 4 days ago | parent [-]

It would livelock

gpderetta 4 days ago | parent [-]

I wouldn't call it a livelock, because I wouldn't expect the runtime to be doing any (useless) work on behalf of the program.

Still, trading deadlocks for livelocks is a net negative as they are harder to identify and diagnose.

senderista 4 days ago | parent [-]

Paxos necessarily livelocks and still seems useful. More generically, all nonblocking algorithms which are only “obstruction-free” can livelock, but techniques like randomized backoff can make them quite reliable in practice (just like Paxos/Raft).