gpt4 book ai didi

java - 停止 JVM 中的敌对线程

转载 作者:行者123 更新时间:2023-12-03 02:02:25 24 4
gpt4 key购买 nike

我正在编写一个服务器,它可能正在运行恶意代码。为了防止攻击者将线程放入无限循环,我想强制执行一秒的执行时间限制。

InterruptedException 可以在无限循环中捕获,从而允许攻击者保留对线程的控制。因此 Thread.interrupt() 不是一个可接受的解决方案。

我当前的实现阻止敌对线程获取任何资源(包括锁),使用 Thread.stop() 终止执行,并恢复线程所做的任何更改。我的主要提示是它使用了已弃用的 Thread.stop() 方法;我不喜欢使用已弃用的代码。

我想知道是否有一个更被行业接受的解决方案,无需启动/终止一个全新的 JVM,这对我的目的来说会产生太多的开销。

最佳答案

终止线程的唯一方法是使用单独的进程并终止该进程。 Thread.stop() 会抛出 ThreadDeath 错误,该错误可以被捕获并忽略。即 catch(Throwable t) {}

有关 Thread.stop() 实际作用的更多详细信息 Does Thread.stop() really stop a Thread?

关于java - 停止 JVM 中的敌对线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6725341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com