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.
My name is Inigo Montoya, you killed my father, prepare to read a tiny ad:
a bit of art, as a gift, the permaculture playing cards