The other problems with locks are as follows:
- Developing programs with locks consume more resources, such as time and money
- Maintaining such software is more expensive
- Debugging the software takes more time
- Code with locks is less multithreaded than lock-free code
Having explored some problems (and potential solutions) involved in writing multithreaded code, we will now investigate how Clojure approaches this topic.