여기 자바 서블릿 이야기 중 ... "자체 요청 별 컨텍스트"를 만드는 중이고 "Per Request Context"개체를 Thread.currentThread(). getId() 값에 연결하려고합니다.ThreadId를 통해 스레드의 끝을 어떻게 감지합니까?
대신이 컨텍스트 개체 주위를 지나가는 대신 사용자가 요청 단위 인 함수를 호출하고 해당 threadId의 해시 테이블에서 컨텍스트 개체를 자동으로 가져올 때 현재 스레드 ID를 확인할 계획을 세웠습니다.
이 같은 코드를 사용합니다 .. 나는() ExitContext를 호출하지 않는 잠재적 인 사용자로부터 자동으로 내 응용 프로그램을 보호하고자하지만
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
MyFramework.EnterContext();
try {
// do stuff here that leads to other classes on the same thread
// Access current context via static MyFramework.getCurrentContext()
}
finally { MyFramework.ExitContext(); }
}
.
C#에는 일회용 스레드 개체에 대한 이벤트 처리기가 있습니다 ...
(제가 잘못 생각한 것 같습니다) 스레드가 종료 될 때 감지하거나 폴링하는 방법이 있습니까? 현재 threadId (long) 만 저장 중입니다.
아이디어가 있으십니까?
여기가 기본이라고 생각합니다. 하나는 스레드를 사용하여 수행하는 작업이 잘못되었다고 생각합니다. 서블릿 컨텍스트 내에서 작업해야합니다. – ControlAltDel
ServletContext는 시스템을 사용하는 모든 사용자를위한 것입니다. HttpSession은 현재 사용자를위한 것입니다. 내가 원하는 건 "요청 당"컨텍스트, 다른 사용자가 여러 요청을 ... 내 situtation 내 프레임 워크를 여러 사이트에서 사용할 수있는 페이지 및로드 된 비동기, 피하기 위해 노력하고있어. 사용 된 정보가 요청 당일 수 있기 때문에 동시에 실행됩니다. – xer21