Java 当@async注释函数中发生多个请求时会发生什么情况?

Java 当@async注释函数中发生多个请求时会发生什么情况?,java,asynchronous,Java,Asynchronous,如果已经有一个请求正在处理,并且同时发生了一个新请求 在@async注释函数中,可以这样说: public String importData(ImportRequest requestBody) { File file = new File(path.toString() + "/" + requestBody.getFileName() + ".xlsx"); FileInputStream fis = new FileInpu

如果已经有一个请求正在处理,并且同时发生了一个新请求 在@async注释函数中,可以这样说:

  public String importData(ImportRequest requestBody)
    {



       File file = new File(path.toString() + "/" + 
       requestBody.getFileName() + ".xlsx");

       FileInputStream fis = new FileInputStream(file);


            XSSFWorkbook workbook = new XSSFWorkbook(fis);

            //Iterate through each rows one by one
            Iterator<Row> rowIterator = sheet.iterator();

            while (rowIterator.hasNext()) {
                 saveDataFromFileToDb();

                 }

    }
公共字符串importData(importRequestBody)
{
File File=新文件(path.toString()+“/”+
requestBody.getFileName()+“.xlsx”);
FileInputStream fis=新的FileInputStream(文件);
XSSF工作簿=新XSSF工作簿(fis);
//逐个遍历每一行
迭代器rowIterator=sheet.Iterator();
while(roweiterator.hasNext()){
saveDataFromFileToDb();
}
}
如果文件有1000行且仍在后台处理,以及
突然又来了一个请求,然后发生了什么。

它将启动另一个线程尝试执行同样的操作。但是您可以配置一个单线程执行器。您的任务仍将执行两次,但不会并行执行


您正在谈论Spring的注释,对吗?

是的,正在谈论Spring@Async注释。如何实现单线程执行器。