1. added interrupt to join() - part I done
2. completed Condition2 class - part II done
3. completed Communicator class - part IV done
4. use self-test to test and validate proj1 part I,II,IV