1. Inicie a classe que anotações usando a função de abertura @EnableAsync, digitalização automática
2. No método dos acima e @Async
Estou aqui para escrever uma classe de teste
@Component @Async classe pública AsyncTask { task1 public void () lança InterruptedException { longa começam = System.currentTimeMillis (); Thread.sleep (1000); longo final = System.currentTimeMillis (); longo total = acabar - começar; System.err.println ( "任务1耗时:" + total); } Task2 public void () lança InterruptedException { longa começam = System.currentTimeMillis (); Thread.sleep (2000); longo final = System.currentTimeMillis (); longo total = acabar - começar; System.err.println ( "任务2耗时:" + total); } Task3 public void () lança InterruptedException { longo começar = System.currentTimeMillis (); Thread.sleep (3000); longo final = System.currentTimeMillis (); longo total = acabar - começar; System.err.println ( "任务3耗时:" + total); } }
Em seguida, adicione um controlador assíncrono chamada de método este método a tarefa
/ * *异步任务 * * / @GetMapping ( "async_total") AsyncTotal longo pública () lança InterruptedException { longa começam = System.currentTimeMillis (); asyncTask.task1 (); asyncTask.task2 (); asyncTask.task3 (); longo final = System.currentTimeMillis (); longa counttotal = end - começar; voltar counttotal; }
Se a sincronização é onde precisamos gastar um mínimo de seis segundos, porque eu tenho três tarefas que esperar seis segundos juntos
Mas eu uso assíncrono Pergunto isso levou apenas 2 segundos