Race condition

Posted on 2021-09-13

I have always wondered about the origin of the phrase “race condition” that programmers among us know about. While building a 100W HF power amplifier recently, I encountered that phrase in the literature again and it was all intuitive.

The MOSFETs on a class-AB power amplifier need to be biased into their linear region. Now, current flows through the device and generates some heat. This heat would reduce the Gate-Drain resistance and possibly more current would flow. This would again generate more heat, which drives up the current again.. This is the classic race condition.

One needs temperature compensation (via thermistors) to adjust bias voltage such that the bias current is maintained at a constant value.

Race in programming is slightly different. Usually the “canonical” race condition example is a global variable mutated by two threads. Who is racing here? Not very intuitive to me, where as in the circuit example, it is amply clear, temperature and current are racing against each other.