问题1:
你需要一个单独的线程处理控制台的输入(交互),这个线程可以是,也可以不是主线程。
问题2:你可以用
Thread.stop()
这个方法。不过目前并不推荐用这个方法,因为这个方法没法精确控制线程当前的状态(就是运行到哪个地方停止,退出)
定义一个bool数组bool [] ReadyStatus = new bool[20] //每个线程结束,把对应的ReadyStatus修改成true
while(!CheckAllThreadExit()){
}
public bool CheckAllThreadExit(){
for(int i=0i<20i++){
if(ReadyStatus[i] == false)
return false
}
return true
}
两个线程 同时抢 CriticalSection, 好像处理按键的线程在 speedflag = 1 之后很难抢到了。你应该考虑减少 CriticalSection 的时间,或者考虑用 atomic variable.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)