bestsource

통화 컨텍스트 대 스레드 정적

bestsource 2023. 9. 1. 21:12
반응형

통화 컨텍스트 대 스레드 정적

CallContext와 ThreadStatic의 차이점은 무엇입니까?

저는 ASP에서 그것을 이해했습니다.CallContext에 저장된 NET 환경 데이터는 요청이 종료될 때까지 요청 전체에 지속될 수 있으며 요청이 스레드를 전환할 수 있으므로 스레드 스태틱이 작동하거나 작동하지 않을 수 있습니다.또한 HttpContext가 CallContext를 사용하여 내부적으로 저장된다는 것도 배웠습니다.

일반적인 응용 프로그램에서는 둘 다 동일한 스레드 호출 동안 지속되는 것으로 보입니다.언제가 그렇지 않나요?


편집: 댓글에서 저는 통화 컨텍스트가 스레드 정적 저장소에 대한 추상화라는 것을 배웠습니다.ASP.NET 프레임워크는 한 스레드에서 다른 스레드로 데이터를 명시적으로 이동하여 한 요청을 처리합니다.스레드 민첩성을 제공하려는 다른 프레임워크도 컨텍스트 스토리지에 동일한 기능을 제공할 수 있습니다.

요청이 처음부터 끝까지 동일한 스레드를 사용하는 경우가 매우 많지만, ASP와 같은 경우가 항상 있는 것은 아닙니다.NET은 스레드 민첩성을 보여줍니다.이 문제에 대한 2005년의 오래된 심층 블로그 기사가 있지만, 현재.NET 4.5는 오히려 더 낫습니다.

ThreadStatic으로 저장된 항목은 두 개 이상의 요청에 사용할 수 있습니다.IIS는 요청이 완료된 후 후속 요청을 처리하기 위해 스레드를 재사용하며, 처리 중에 요청을 한 스레드에서 다른 스레드로 전환할 수도 있습니다.ASP.Net은 각 요청 후 콜 컨텍스트를 지웁니다.

언급URL : https://stackoverflow.com/questions/273301/callcontext-vs-threadstatic

반응형