I am reusing code written for the other instrumentors (and in my previous posts was definitely influenced by them), and one of the instrumentors that I copied and modified was
CompactThreadStartStrategy. It now inserts a call to
SyncPointBuffer.delayThreadStart towards the end of
Thread.start. That sort of works.
However, I just realized that
Thread.start is executed by the parent thread that is starting the other thread, not by the thread actually started. I think what I really want is a delay at the beginning of the
Thread.run method. It may make sense to delay thread start as well, though, so I will keep
DelayThreadStartStrategy and add