2012-09-25 3 views
0

응용 프로그램에서 작업하고 있지만 현재 레일이있는 다중 스레드가 작동하지 않습니다.다른 레일에서 스레드에 액세스 컨트롤러 조치

다음과 같은 상황이 있습니다. 사용자가 버튼을 클릭하거나 예약 된 작업이 중단 된 후 발생할 수있는 동작이있을 때, 내가 가지고있는 순간까지 일부 웹 사이트를 구문 분석하는 별도의 스레드가 시작됩니다. 구문 분석을 계속하려면 SMS 코드를 수신해야합니다. 이 순간 나는 Thread.stop을 만든다.

SMS 코드는 일부 컨트롤러에 POST 요청으로 제공됩니다. 그래서 그것을 중단 된 스레드에 전달하고 작업을 계속하고 싶습니다.

하지만 어떻게 그 스레드에 액세스 할 수 있습니까?

해당 스레드에 대한 링크를 유지하는 가장 좋은 장소는 어디입니까?

그래서 어떻게 멀티 스레딩을 처리 할 수 ​​있습니까? 많은 스레드와 많은 SMS 요청이있을 수있는 상황이있을 수 있으며, 어떻게 든 상관시킬 필요가 있습니다.

답변

0

모든 실제 용도로는 사용할 수 없지만 다른 스레드의 상태를 '보고'할 수 있습니다.

redis 개체를 사용하여 플래그로 redis를 사용하는 잠금 개체를 만들거나 일부 카운터 유형을 만들거나 true, false 값 저장을 만들 수 있습니다. 그런 다음 redis를 쿼리하여 다른 스레드의 해당 상태를 확인하고 필요한 경우 종료 할 수 있습니다.

https://github.com/nateware/redis-objects

이에 대한 멋진 부분은 스레드 사이에서 작동하지만, 응용 프로그램간에뿐만 아니라.

관련 문제