In this part, we will learn more about single responsibility priniciple. To learn that, we can start with a problem described below.
Implement a simple concurrent file uploader. Allow the user to keep entering filename, whenever they want to upload. Each filename entered by the user should be uploaded to the FileServer which is remotely located over the internet. Each upload approximately takes 10 seconds time. When the upload for one file is going on, another should not be uploaded. Other files should be uploaded one after the other, the way it happens on google drive client or filezilla.
User should be allowed to enter filenames when upload is going on. No filename entered by the user should be missed. When each upload starts, display the getting uploaded and when upload is completed, dispaly "filename" uploaded.