java - 退出线程时如何执行代码

标签 java multithreading dispose teardown

我想在线程终止之前在最后执行代码。所以我正在寻找的是某种用于线程的 dispose()、tearDown() 方法,以保证在退出线程之前执行某些任务。

最佳答案

您可以将要在单独线程中执行的代码包装在您自己的代码中,该代码具有 try/finally阻止,然后调用run “真实”的方法Runnable来自 try ,像这样:

final Runnable realRunnable = ... // This is the actual logic of your thread
(new Thread(new Runnable() {
    public void run() {
        try {
            realRunnable.run();
        } finally {
            runCleanupCode();
        }
    }
})).start();

runCleanupCode() 的代码将在用于运行实际线程逻辑的同一线程中执行。

关于java - 退出线程时如何执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24872009/

相关文章:

使用 std::future 的 C++ 程序拒绝在 Windows XP Embedded 上运行

c++ - 删除现有对象时出现段错误

c# - 何时处理 GDI 对象,特别是位图

c# - 如何在继承自 SocketAsyncEventArgs 的类中实现 IDisposable 接口(interface)

java - 如何从另一个类中处理?

java - 收到的 JMS 消息被截断

java - 实现 RealmModel 而不是在 Realm 中扩展 RealmObject 有什么好处吗?

ios - 保存在其他线程中时,应用崩溃

java - 防止通过 Java Servlet Web 应用程序中的 URL 访问文件

java - Jetty 不发起部署 war