The reason you are getting an exception in because you are trying to start a thread that is already running. You can start a thread only once.
What you need to do is give a reference of thr1to thr2. Inside the run method of thr2 call is alive on thr1 in a loop and print whatever you need to print. The main method should start both threads only once, and then wait for both threads to complete
BTW, I know you are probably practicing, but having 2threads dependent on each other is usually not good Design. The reason you start multiple threads is because you want something to execute in parallel, and having one thread wait for another defeats the purpose. In cases where threads wait for each other, you usually use a mutex or a semaphore