This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Here nothing special is happening, you are creating and starting two threads which run concurrently. Try the below program (added yield()) and notice how threads take turns although output isnt guaranteed in both cases.