Re[2]: Как исправить код, чтобы он работал в многопоточном режиме?
От: Aleksei_Lekomtsev  
Дата: 04.10.23 14:24
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, Aleksei_Lekomtsev, Вы писали:



A_L>>
A_L>>@RestController
A_L>>public class Counter {

A_L>>  private long counter = 0;
  
A_L>>  @GetMapping("/increment")
A_L>>  public long increment() {
A_L>>    return ++counter;
A_L>>  }
A_L>>}
A_L>>


PD>Хм. Что-то я не понимаю. Это же инстансное поле класса. С чего ты решил, что экземпляр класса будет один ?


PD>Наверное, нужно static, и тогда AtomicLong


Я честно говоря не знаю как Spring работает в этом случае. Т.е. если я правильно понимаю, то если будут 2 get-запроса для
данного endpoint, то Spring создаст 2 threads, которые будут работать с одним и тем же полем counter...но это не точно)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.