栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java中的关闭挂钩的有用示例?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的关闭挂钩的有用示例?

你可以执行以下操作:

  • 让关闭挂钩将一些
    AtomicBoolean
    (或易失性布尔值)“ keepRunning”设置为false
  • (可选地,
    .interrupt
    工作线程是否在某些阻塞调用中等待数据)
  • writeBatch
    通过
    Thread.join()
    在工作线程上调用方法,等待工作线程(在你的情况下执行)完成。
  • 终止程序

一些粗略的代码:

  • 添加一个
    static volatile boolean keepRunning = true
    ;
  • 在run()中,你更改为
for (int i = 0; i < N && keepRunning; ++i)    writeBatch(pw, i);
  • 在main()中添加:
final Thread mainThread = Thread.currentThread();Runtime.getRuntime().addShutdownHook(new Thread() {    public void run() {        keepRunning = false;        mainThread.join();    }});

这大概就是我在终端中优雅地“击中Control-C时拒绝所有客户端”的方式。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/441783.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号