三個線程按順序打印ABC

首先思路是一個線程在工作時,需要阻塞另外兩個線程,這樣需要三個線程共用一個互斥鎖,但問題是怎樣指定順序呢。 想到的辦法是通過一個全局變量nFlag,以此判斷下一個應該打印哪一個字母。 但是如何指定呢,比如A打印完成後,nFlag指定B,而C線程繼續等待。 可以在進入互斥鎖前設定一個死循環,沒有輪到的字母一直阻塞在這裏,而輪到的線程進入工作狀態。 所以代碼如下 // InOrderABCThread
相關文章
相關標籤/搜索