In addition to the other answer that has been posted,
the example that I have first hand experience with is
instrument control. There is only one instrument out
there. Multi-threading could allow a second thread to
attempt instrument I/O before the first one is
finished. You could get unexpected results or a hang.
File I/O could have the same problem if two threads
attempt to write to the same file at the same time.
You could still have multi-threading in these cases,
but you need some flag that says "wait, I'm busy" to
the second thread.
Les.Hammer@CompleteTest.com