<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                **1. 什么叫并發** >[info]上一次的任務還沒完成,下一次的任務就又開始了 假設有一個任務實例每隔 2s 執行一次,但需要 5s 的時間才能完成這次任務,就會觸發并發問題。 ```java @Slf4j public class UserJob extends QuartzJobBean { @Override protected void executeInternal(JobExecutionContext context) throws JobExecutionException { JobKey jobKey = context.getJobDetail().getKey(); try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } log.info("任務ID: {}", jobKey.getGroup() + "." + jobKey.getName()); } } ``` 當被觸發器觸發時日志打印如下: ``` //可以看到下面每隔 2s 就會打印一個日志, //雖然執行該任務一次需要 5s,但只要到了每隔 2s 的時間就會被執行 //即上一次的任務還沒完成,下一次的任務就又開始了,這便是并發的問題 2023-03-31T20:12:20 ...job.UserJob : 任務ID: job-group1.job10 2023-03-31T20:12:22 ...job.UserJob : 任務ID: job-group1.job10 2023-03-31T20:12:24 ...job.UserJob : 任務ID: job-group1.job10 2023-03-31T20:12:26 ...job.UserJob : 任務ID: job-group1.job10 2023-03-31T20:12:28 ...job.UserJob : 任務ID: job-group1.job10 ``` <br/> **2. 禁止并發** >[info]下一個任務必須等待上一個任務完成后才能被執行。 如果不想要這種并發任務,可以標注注解`@DisallowConcurrentExecution`來防止。 ```java @Slf4j @DisallowConcurrentExecution public class UserJob extends QuartzJobBean { @Override protected void executeInternal(JobExecutionContext context) throws JobExecutionException { JobKey jobKey = context.getJobDetail().getKey(); try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } log.info("任務ID: {}", jobKey.getGroup() + "." + jobKey.getName()); } } ``` 當被觸發器觸發時日志打印如下: ``` //可以看到每隔 7s 才打印一次日志,它執行的時間間隔如下: //每次任務執行的間隔 = 觸發器中定義的任務執行間隔 + 這次任務執行完成所需的時間 //說明下一個任務必須等待上一個任務完成后才能被執行 2023-03-31T20:24:03 ...job.UserJob : 任務ID: job-group1.job10 2023-03-31T20:24:10 ...job.UserJob : 任務ID: job-group1.job10 2023-03-31T20:24:15 ...job.UserJob : 任務ID: job-group1.job10 2023-03-31T20:24:22 ...job.UserJob : 任務ID: job-group1.job10 2023-03-31T20:24:27 ...job.UserJob : 任務ID: job-group1.job10 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看