안녕하십니까..
한번 읽어봐 주시고.. 문제점이 무엇인지 좀 알려주세요
asp에서 call할 수 있는 com server 를 하나 만들고..
두개의 함수를 생성했습니다.
하나는 20초간 sleep을 하는 deadlock이라는 함수이고
두번째는 단순히 integer 10을 return 하는 함수인 test입니다.
asp페이지 두개를 생성하여
첫번째 놈은.. deadlock.asp로...
Set obj = Server.createObject("MyObject.QTest")
intSuccess = objSearch.deadlock
두번째 놈은.. test.asp로....
Set obj = Server.createObject("MyObject.QTest")
intSuccess = objSearch.test
이렇게 만들었습니다.
이렇게 한후 http://localhost/deadlock.asp를 콜한후...
http://localhost/test.asp를 콜하면..
deadlock.asp의 sleep 시간이 지난후에야.. test.asp의 결과를
볼수 있습니다.
제 짧은 생각으로는 comserver를 apartment, multithread로
만들었기 때문에... deadlock에 상관없이...
웹서버에서 threading model에 따라 처리해 줄 것이라고 기대했는데요..
그렇지가 않네요.
제가 com내부에서 thread를 직접생성해서 처리해야 하는 건가여?
혹시 이 현상에 대해서 저에게 설명해 주실 분... 답변좀 부탁드립니다.