Concurrent encryption
What is?:
An project designed to better understand the use of semaphores and mutexs through the use of a basic encryption program that does the following as optimally as concurrency allows
- reads in a file
- counts each occurance of each letter
- encrypts each character
- counts each occurance of each encrypted letter
- writes the encrypted character to a file

Design Goals:
-
Better understand the uses and utilities of semaphores and mutexs
-
Learn the differences between synchronization and concurrency
-
Grasp the complexities of race conditions and common concurrent blockers