3 ms·
My point is just that it's possible to construct one in any system that static analysis will be unable to detect or prevent. If you can construct it, it can al
by dnautics 7y ago
My point is just that it's possible to construct one in any system that static analysis will be unable to detect or prevent. If you can construct it, it can also happen by accident.
- signa11 7y ago> My point is just that it's possible to construct one in any system that static analysis will be unable to detect or prevent. If you can construct it, it can also happen by accident. how ? can you please explain ? thanks !
- dnautics 7y agomost people implement "block on API response", because that's way easier to reason about, sometimes, even without timeout. Reading through the thread, what I was misunderstanding is that this situation technically gets rolled into what called a "livelock". Fine, but from the higher-level API consumer's POV it's a deadlock.
- signa11 7y agowith blocking semantics, you are sure to run into deadlocks in a single-threaded environment pretty easily a -> b -> c -> a. grpc f.e. has support for blocking requests but it's 'solution' is to spawn a new thread for the request.
- senderista 7y agoYou did not construct such a scenario for an async message-passing system.