liurunyu
2025-03-21 fb50c6c8111fffd16091ce25d5d389ea3fcc560f
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/TimerTaskJob.java
@@ -7,11 +7,12 @@
 * @Author: liurunyu
 * @Date: 2024/11/20 17:49
 * @Description :
 * 2024-11-20:
 * 此抽象类代替ThreadJob,原因:
 * 在while(true){}中使用Thread.sleep(),可能导致的严重性能问题,不推荐在循环中使用线程休眠。
 * Java线程实现采用内核线程实现,线程的休眠及唤醒(状态切换)需借助操作系统进行,这是一个极其耗时耗力的操作。
 * 在线程休眠或运行时间较长的情景下,其对性能的影响还不算明显,因为对线程状态的切换并不频繁。
 * 但若线程休眠及运行的时间都很短(例如毫秒/秒,文中案例就是一个典型案例),
 * 但若线程休眠及运行的时间都很短(例如毫秒/秒),
 * 系统将频繁的对线程状态进行切换,导致严重的性能损耗,并对着循环次数的递增而放大。
 */
public abstract class TimerTaskJob {