An alert student sent me the following message:
Prof Anderson, After fixing the synchronization issue for the programming question, I notice the program ends after 200 products are produced but before all 200 can be consumed: Consumed: Product<188> Consumed: Product<189> Produced: Product<195> Produced: Product<196> Produced: Product<197> Produced: Product<198> Produced: Product<199> It's a fixable problem but perhaps outside the scope of the question. Do want us to implement a way to ensure all 200 get consumed?
He's right! If you'd like to fix this problem in addition to the synchronization problem, I'll grant 5 points of extra credit.