为A()设定1秒的执行时间
追答那么就只能这么做了
A()
{
//记录开始时间
//执行过程
//当前时间减去开始时间,记录结果
//如果结果大于0
Thread.Sleep(结果(毫秒))
B();
}
大哥 这个 是间隔 一秒 我希望的是 A() 执行 一秒 停止 在执行B()
谢谢 大哥的 回答
个人看法可能有错:那就用线程做了,如果线程也不行就想不到其他方法了,毕竟你想让一个方法只执行一秒,抛开你的代码,一秒钟时间一个方法未必能执行的完,要把这里的调度做好设计到稍微底层一点的问题, c#不大可能在线程之外提供这类方法
sleep 会挂起A() 我希望的是 A()可以这行1秒
追答没搞懂你的需求。
sleep不会挂起A()。A()不运行完不会运行sleep()。
如果你希望A()运行一秒,那就用定时器啊,前面已经有非常详细的方案了,你直接采用就好了。
没懂你为什么还不结账给别人分?
你不会是想只让A()运行一秒吧?一秒后让A()停止了运行B()?
就是 想 让A 只运行 1秒 这是 个机器人 迈步的问题 A和B 是俩条腿。。。
哪位大哥 的 是 间隔 1秒 。。。
A()和B()里面都是循环体?控制的步进电机?
设定两个定时器timer1, timer2
bool aFlag = true;
timer1.Interval = 50;
timer2.Interval = 1000;
timer1.Enable = true;
timer2.Enable = true;
timer1里面
{
timer1.Enable = false;
A()里面循环体的内容。
if(aFlag) timer1.Enable = true;
}
timer2里面
{
aFlag = false;
}