java 线程中止结合续期思想的小demo

这篇具有很好参考价值的文章主要介绍了java 线程中止结合续期思想的小demo。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


    private volatile boolean isEnd = false;

    private Thread slaveThread;

    @GetMapping("/testThread")
    public AjaxResult testThread() {
        isEnd = false;
        Thread thread = Thread.currentThread();
        new Thread(new Runnable() {
            @Override
            public void run() {
                while (!isEnd && !Thread.currentThread().isInterrupted()){
                    System.out.println("续费~~");
                    slaveThread = Thread.currentThread();
                    try {
                        Thread.currentThread().sleep(1000);
                    } catch (InterruptedException e) {
                        // 在子线程sleep的时候,主线程调用slaveThread.interrupt();会使子线程抛出异常 sleep InterruptedException 所以需要再次中断
                        slaveThread.interrupt();
                    }
                }
            }
        }).start();

        for (int i = 0; i < 5; i++) {
            try {
                System.out.println("主线程~~");
                thread.sleep(2000);
                if (i == 4 && slaveThread != null){
                    if (slaveThread.isAlive()){
                        slaveThread.interrupt();
                    }
                }
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        System.out.println("主线程结束");
        return null;
    }

文章来源地址https://www.toymoban.com/news/detail-739353.html

到了这里,关于java 线程中止结合续期思想的小demo的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flutter Scrollbar滑动条与SingleChildScrollView的结合使用的小细节

    我在业务开发中,ListView是竖向滑动的,然后 ListView中的每一个小条目比较长,我需要横向滑动,所以 就有了 ListView中多个SingleChildScrollView(横向滑动),但是在视觉上,我期望告知用户可以横向滑动,所以有了 Scrollbar 结合 SingleChildScrollView 来使用。 但是两者来使用,多多少少

    2024年01月18日
    浏览(39)
  • Uniapp学习之从零开始写一个简单的小程序demo(新建页面,通过导航切换页面,发送请求)

    先把官网文档摆在这,后面会用到的 [uniapp官网文档]: https://uniapp.dcloud.net.cn/vernacular.html# 按照官方推荐,先装一个HBuilder 如果要在微信小程序上运行,再装一个微信开发者工具 为了之后的调试,在HBuilder里配置微信开发者工具的安装路径 在微信开发者工具中设置端口开发、不

    2024年02月10日
    浏览(42)
  • FastApi-1-结合sql 增/查demo

    fastapi已经学习有一段时间,今天抽时间简单整理下。 官网介绍: FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示。 快速:可与 NodeJS 和 Go 并肩的极高性能(归功于 Starlette 和 Pydantic)最快的 Python web 框架之一。 高效

    2024年02月12日
    浏览(37)
  • 线程池高手进阶:揭秘ThreadPoolExecutor的小妙招!

    ThreadPoolExecutor 是 Java 中用于创建和管理线程池的接口,当线程池中的任务队列已满,并且线程池中的线程数量已经达到最大时,如果再有新的任务提交,就需要一个策略来处理这些无法执行的任务。它 提供了四种拒绝策略,都是 RejectedExecutionHandler 接口的实现,如下: Abor

    2024年01月25日
    浏览(41)
  • 【Linux系统】结合有趣的小故事让你学懂生产者消费者模型

    有一个小朋友叫小C,他住的地方没有超市,只有几家供货商,因为每家供货商类型单一,买东西还要跑来跑去的,而且供货商晚上还不开门,买东西特别不方便,不仅小C觉得麻烦,其他人也觉得麻烦。小C想:为什么不能把这几家供货商的东西先放在一个地方呢,再由几个人

    2024年02月17日
    浏览(38)
  • YAPi在线接口文档简单案例(结合Vue前端Demo)

    在前后端分离开发中,我们都是基于文档进行开发,那前端人员有时候无法马上拿到后端的数据,该怎么办?我们一般采用mock模拟伪造数据直接进行测试,本篇文章主要介绍YApi在线接口文档的简单使用,并结合Vue的小demo,让你快速了解到前后端分离开发整体流程。 YApi 是高

    2024年02月07日
    浏览(48)
  • Java服务端接入苹果内购。实现票据二次校验、自动续期订阅

    记录一下 Java 服务端接入苹果内购。 苹果规定在 APP Store上架的 APP 使用苹果自己的支付方式(IAP内购),并且苹果会抽30%的税。 上架商品包括:消耗性,非消耗性,自动续期订阅,非续期订阅。上架商品可在 APP Store后台配置。 由用户完成付款操作后,苹果返回 票据 给 IO

    2024年02月02日
    浏览(46)
  • LangChain Demo | 如何调用stackoverflow并结合ReAct回答代码相关问题

    楼主决定提升与LLM交互的质量,之前是直接prompt-answer的范式,现在我希望能用上ReAct策略和能够检索StackOverflow,让同一款LLM发挥出更大的作用。 1. 怎样调用StackOverflow step1 pip install stackspi step 2 注:stackoverflow是stackexchange的子网站  2. 交互次数太多token输入超出了llm限制 appro

    2024年04月09日
    浏览(40)
  • 【Python】使用pycharm结合gradio做一个web页面的demo

    紧接上文我们安装好了python3.10,现在需要下载它的开发工具pycharm,我们在这里不过多赘述具体细节,仅简要说明关键步骤,来通过gradio体验一下示例demo pycharm官网:https://www.jetbrains.com.cn/pycharm/ 然后再创建一个 app.py 的一个Python文件 我们需要把 Python解释器 设置为我们前面安

    2024年02月15日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包