Why is Multithreaded debugging difficult? Plus why is it that a "thread-printf" function appears to have issues outputing data untimely when you have to messure it at splitsecond accuracy?
Data is output like this:
//"Original..." is data initialised in the class object by default
//"Altered... " is data altered in the threads for the object (bear in mind,
//I'm using atomic variables so concurrent access has been ruled out after so
// many tests in the past few days)
"Original message in thread"
"Altered message in thread"
"Altered message in thread"
"Original message in thread"
"Altered message in thread"
"Altered message in thread"
"Altered message in thread"
"Altered message in thread"
"Altered message in thread"
"Altered message in thread"
"Altered message in thread"
"Altered message in thread"
"Altered message in thread"
Any links to good literature on this topic would be apreciated.
Most of us can't do lots of things really well. We either do one thing well, do a few things good enough to get away with, or just rubbish at everything. We just don't think in a multi-stranded way.
why is it that a "thread-printf" function appears to have issues outputing data untimely when you have to messure it at splitsecond accuracy?
Are you aware of how multiple threads are executed? Are you aware of the effect of I/O on the Operating System's scheduler?
Any links to good literature on this topic would be apreciated.