implement deadlock example
implement producers consumers