sloww331
53
2020-05-15 17:15:29
1
123

스프링 프레임워크로 프로젝트 중인데 단일 스레드로 동작시키고싶은 기능이 있습니다.


send() 라는 메소드를 만들어서

많은 사람들이 동시 send()에 접근할 때

send()의 모든 기능이 끝난 후 다음 요청을 받고 싶은데

어떻게 해야할지 감지 안오네요...

지금은 send가 있는 클래스 안에 플래그 값을 둬서 시작과 끝을 표현하고,

다른 접근자가 send를 요청하고 싶을 땐 그 플래그 값을 확인한 후 안 끝났으면 1초 기다렸다가 다시 요청하게 했습니다.


class Test {
  boolean isFinished = true

  String send() {
    isFinished = false; 
    ....
    isFinished = true;
    return result;
  }
}


어떻게 접근해야 순차적으로 풀 수 있을지 모르겠습니다.

부족한 부분이 많은 점 알지만 조언 부탁드립니다.

0
0
  • 답변 1

  • 어쩌다
    6k
    2020-05-15 17:22:55

    음 단순한 동작이면 static 쓰레드 세이프 맵 하나 만들어서..요청을 맵에 적재 하면서..

    하나씩 꺼내면서 처리하면 될거같은대요

    1
  • 로그인을 하시면 답변을 등록할 수 있습니다.