java多线程控制台运行问题

java多线程控制台运行问题,第1张

贴上代码看看。

问题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.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7750865.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存