有个请求是操作是比较耗时,我想在controller方法里新开启一个线程去单独处理耗时的那部分操作。这样做会不会导致线程安全的问题?
//类似于这样的代码
@PostMapping("/audit")
public Object audit(@RequestBody Data data){
JSONObject jsonObject = new JSONObject();
Result result = serviceA.a(data);
if(result!=null){
jsonObject.put("code",200);
jsonObject.put("data",result);
jsonObject.put("message","审核成功");
jsonObject.put("success",true);
//耗时操作
Thread t=new Thread(new Runnable() {
@Override
public void run() {
try {
serviceA.b(result);
System.out.println("耗时操作");
} catch (Exception e) {
e.printStackTrace();
}
}
});
t.start();
}else {
jsonObject.put("code",400);
jsonObject.put("message","审核失败");
jsonObject.put("success",false);
}
return jsonObject;
}