Link do projeto no github: https://github.com/EncodeDecodeStepByStep/EncodeDecodeStepByStep/blob/master/backend/src/main/java/br/unisinos/encodedecodestepbystep/controller/GoulombController.java
Código:
public class GoulombController implements CodificationController {
private final GoulombService goulombService;
@CrossOrigin("http://localhost:3000")
@PostMapping("/normal/encode")
@ResponseStatus(HttpStatus.OK)
public void encode(@RequestBody EncodeRequest encodeRequest) {
goulombService.setDivisor(encodeRequest.getDivisor());
Codification.setStepsFinished(false);
Codification.setEncodeCodification(true);
new Thread(() -> {
try {
Codification.setProgressPercentage(new MutableDouble(0));
ReaderWriterWrapper readerWriterWrapper = ReaderWriterWrapper.getEncodeReaderWriterWrapperNormal(encodeRequest.getPath(), Codification.getProgressPercentage());
goulombService.encode(readerWriterWrapper.getWriterInterface(), readerWriterWrapper.getReaderInterface());
} catch (Exception e) {
e.printStackTrace();
}
}).start();
}
1)O que é a Thread?
2)Em cada requisição é criada uma Thread automaticamente?
3)Para que serve colocar essa "Thread"? Não tinha a Thread do usuário já?
4)Quando acaba a Thread do usuário criada automaticamente e começa essa Thread criada manualmente? Ou são executadas juntas? Qual a função da Thread criada automáticamente e essa criada manualmente?