There are certain downsides to Multithreading. These are:
1. Difficult to Debug: Multithreading code is difficult to
debug in case of an issue.
2. Difficult to manage concurrency: Due to multiple threads,
we may experience different kinds of issues.
3. Difficulty of porting code: It is difficult to convert existing
single threaded code into multi-threading code.
4. Deadlocks: In case of multi-threading we can experience
deadlocks in threads that are waiting for same resource.