Print odd and even numbers using two threads in Java
In Print both variables count and isOdd should be marked as volatile then it would be thread safe, but not very efficient.

In Print2 you assume that no one else could wake up your thread which is incorrect as thread could be awaked by many things - in such light you need to have additional if check there to check if it really should print the variable - like this isOdd in the Print. Having this wait/notify with a volatile isOdd check would be a solution that is both tread safe and efficient by not spinning the loops unnecessarily, count should also be volatile as it is shared beetwen threads.

If you want to learn java concurrency well you can read a book "Java Concurrency in Practice" - it will give you a good understanding of this subject and will allow you to pass inteview questions like this one.

You can ask here or on SO for specific things about java concurrency, but I think that it would be hard and inefficient for you to learn it this way. Much better (faster, less painfull)  approach would be to read this book first and then ask questions if something will stay unclear for you. Good wishes!