I searched all over the internet about it (Wikipedia included),but all tell the same theoretical thing in varying degree of complexity in their choice of technical jargon,that race conditions arise when two processes etc race to read/write data and one might be trying to read when other is attempting to alter it.
So far so good as far as learning it by rote and answering this theoretically in an examination is concerned.But I really want to understand it,with the core and details in plain English,and especially with a simple C program that illustrates it.A little C program will make it more than anything,especially since I want to know it in context of C.Can you kindly put up a plain-English explanation with a little C program?
PS: This line taken from the description of a string library function minutes back made me realize again the need to really understand data race condition.
The point where the last token was found is kept internally by the function to be used on the next call (particular library implementations are not required toavoid data races).