1. A method for detecting a race condition, comprising storing, in a first memory location shared by two or more threads, a seed value to a first global variable; identifying the race condition in a first instance when a second global variable, stored in a second memory location shared by the two or more threads, does not equal a first predefined value, wherein the second global variable was set to the first predefined value at an initiation event prior to storing the seed value; in response to not identifying the first race condition in the first instance, storing a second predefined value to the second global variable; in further response to not identifying the race condition in the first instance, identifying the race condition in a second instance when the first global variable does not equal the seed value; in response to not identifying the race condition in the second instance, accessing a shared resource; and in further response to not identifying the race condition in the second instance, storing the first predefined value to the second global variable.