作者liaommx (Orz)
看板C_Sharp
标题[问题] 该如何等一个子函数做完事情呢?
时间Mon May 24 19:57:49 2010
我的程式逻辑是这样的
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
1F:→ chancewen:加个count? 05/24 20:41
2F:→ liaommx:可是加个count,又会让tx这个timer再被执行一次. 05/24 21:54
3F:→ liaommx:所以我一直想不到好方法. 05/24 21:54
4F:→ mortleo:不太懂你的意思,你是要100次做完才做C还是同时做? 05/24 22:02
5F:→ james732:加个 mutex 来上锁吧 XD 05/24 22:04
6F:→ liaommx:我要100次做完才做C..,而100次是由timer驱动的 05/24 22:26
7F:→ liaommx:mutex?.不太理解要怎麽做,只用过mutex防止同一程式执行两 05/24 22:26
8F:→ evirtues:那for loop + Thread.Sleep()来取代timer呢? 05/24 22:29
9F:→ liaommx:thread.sleep,会不会让整支程式不动? 05/24 22:31
10F:→ liaommx:因为我整支程式就是写成这样内含ABC几个子函式. 05/24 22:32
11F:→ liaommx:mai点start就开始依照顺序执行1 2 3 05/24 22:32
12F:→ evirtues:Sleep()会让程式停住没错,但这样不是就能达到你的目的? 05/24 22:44
13F:→ evirtues:还是你希望程式在执行100次的过程中同时做其他的事? 05/24 22:47
14F:→ mortleo:把C也写在timer里面,执行完100次才执行C,执行C才结束 05/24 23:03
15F:→ mortleo:timer。这样如何? 05/24 23:03