2023-01-19 347
我正在使用此处接受的答案中的方法来构建Gameloop线程.
在Android服务类中停止/销毁线程的地方?
目前,我的线程基本上有时间,进行单个本机函数调用,以更新游戏逻辑,然后在调整后通过的时间睡觉.
我很好奇的是,由于我仍然对线程不太满意,这是否被Interrupt()杀死线程的速度如何?如果它位于本机函数中运行的代码的中间,它将在其中间停止,还是安全完成?
提前感谢
耶利米
不用担心, interrupt的文档说:
如果此线程在wait()的调用中被阻塞,请wait(long)或wate(long,int)对象类的方法,或join()(),join(long),join(long)(long) ,int),睡眠(长)或睡眠(长,int),然后将其中断状态清除,并将收到中断.
因此,如果您处于某种类型的阻塞/睡眠/等待状态,则您的线程只会获得InterruptedException.如果您正在运行,则该线程在进入这些状态之一之前不会得到异常.
您的循环应该是:
while(!Thread.currentThread().isInterrupted()) // <- something of the sort here
{
try{
// do work
} catch (InterruptedException e){
// clean up
}
}
更新:
此外,文档指出:
如果以前的条件都没有,则将设置此线程的中断状态.
以上所述是小编给大家介绍的线程中断与JNI函数调用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/25862.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态