View on GitHub

Michonne

(alpha) Deadlock killer library.

Download this project as a .zip file Download this project as a tar.gz file

Michonne

When you have locks within your applicative code... you will have deadlock. Period. The only question you may ask is "when?" Same thing with API allowing you to wait without indicating any kind of timeout (e.g. TPL). Too bad... and too easy to shoot yourself in the foot...

But how to protect your code from race conditions without using lock?!? Easy answer: let Michonne help you.

What's Michonne?

"No lock... no deadlock!" Michonne is a library that allows you to erradicate deadlocks within your applicative code by providing you composable behaviors for tasks/lambdas execution (i.e. dispatcher, sequencer, balking dispatcher, etc), in replacement of locks and raw TPL primitives that will lead you to deadlocks.

Related resources