It was so nice to wake up on Christmas morning and find these replies. Obviously my mistake was not knowing what keywords to use as search strings! (Admittedly, a fairly common mistake when there's more than one way to do it.) In the future, I hope that anyone searching for "thread scheduling" will find this thread.
BTW, I like your answer a lot more than learnedbyerror's eventual solution, which seems like overkill. I'll use yours as a basis for whatever I come up with and add it to my question.