You can never guarantee the order of how the threads will be run, therefore you will see the result BBAA. Even though Thread A is started before Thread B it doesn't mean the thread scheduler will run...