Re: [問題] 該如何等一個子函數做完事情呢?
※ 引述《liaommx (Orz)》之銘言:
: 我的程式邏輯是這樣的
: do
: {
: switch(int)
: case 1:
: A();
: case 2:
: B();
: tx.enable=true;
: C();
: default:
: break;
: }while(true)
: 我B和C的子程式中間,有一個tx.enable要定時做100次的某件事情(timer)
: 但是要等B完做tx,
: tx做完100次才進到C這個子程式,
: 請問這邊該怎麼做比較適合呢?
: 直接選tx.enable,
: 這樣整個邏輯會同時做下去,
: 我這個邏輯是有前後關係的.
: 謝謝大家,
我的想法是這樣的:
準備一個 mutex, 一開始把它上鎖
在 C() 的一開始對這個 mutex 再一次上鎖
因為已經鎖著,C() 無法再鎖一次,所以會停下來等待解鎖
然後在 timer() 執行一百次後,把 mutex 給解鎖
這個時候 C() 便可以取得 mutex,並且繼續執行了
--
一直把上鎖打成上廁所是怎樣...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.171.46
※ 編輯: james732 來自: 140.117.171.46 (05/24 22:41)
→
05/25 00:25, , 1F
05/25 00:25, 1F
討論串 (同標題文章)