看板 C_Sharp 關於我們 聯絡資訊
我的程式邏輯是這樣的 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, 這樣整個邏輯會同時做下去, 我這個邏輯是有前後關係的. 謝謝大家, -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.227.253
chancewen:加個count? 05/24 20:41
liaommx:可是加個count,又會讓tx這個timer再被執行一次. 05/24 21:54
liaommx:所以我一直想不到好方法. 05/24 21:54
mortleo:不太懂你的意思,你是要100次做完才做C還是同時做? 05/24 22:02
james732:加個 mutex 來上鎖吧 XD 05/24 22:04
liaommx:我要100次做完才做C..,而100次是由timer驅動的 05/24 22:26
liaommx:mutex?.不太理解要怎麼做,只用過mutex防止同一程式執行兩 05/24 22:26
evirtues:那for loop + Thread.Sleep()來取代timer呢? 05/24 22:29
liaommx:thread.sleep,會不會讓整支程式不動? 05/24 22:31
liaommx:因為我整支程式就是寫成這樣內含ABC幾個子函式. 05/24 22:32
liaommx:mai點start就開始依照順序執行1 2 3 05/24 22:32
evirtues:Sleep()會讓程式停住沒錯,但這樣不是就能達到你的目的? 05/24 22:44
evirtues:還是你希望程式在執行100次的過程中同時做其他的事? 05/24 22:47
mortleo:把C也寫在timer裡面,執行完100次才執行C,執行C才結束 05/24 23:03
mortleo:timer。這樣如何? 05/24 23:03