gpt4 book ai didi

java - 以下两种调度和停止线程的方法哪个更好

转载 作者:行者123 更新时间:2023-11-30 06:25:58 25 4
gpt4 key购买 nike

我通常看到两种实现守护进程的方法,该守护进程执行一些工作并进入 hibernate 状态并再次唤醒。

  1. while(flag) 方法,如果我们想停止守护进程,flag 为 true 并被其他类设置为 false。

    while(flag){
    //do something
    Thread.sleep(10000l);
    }
  2. 使用固定延迟使用 ScheduledThreadPoolExecutor 进行调度。

IMO,第二种方法更简洁且易于测试。有人可以比较这两种方法。第一种方法会导致任何内存问题吗?

谢谢

最佳答案

Can first approach cause any memory issues?

没有。最大的问题是管理 flag 变量的可见性。 Thread 类出于某种原因封装了中断标志的概念。

关于java - 以下两种调度和停止线程的方法哪个更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14999146/

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