2014-06-24 6 views
-1

dll을 실행하는 실행 파일 (My.exe)이 있습니다.com 실행 파일이 인스턴스화되지 않았습니다.

dll은 4 개의 다른 com 실행 파일을 인스턴스화하고 실행합니다.

dll이 4 개의 실행 파일을 모두 인스턴스화 할 수 없으면 로그 파일에 기록하고 실행이 종료됩니다.

(dll 및 4 com 실행 파일은 외부 소스에서 가져온 닫힌 제품입니다.)

32 코어가있는 서버에서 데이터베이스를 폴링하고 필요에 따라 My.exe를 실행하는 백그라운드 서비스가 있습니다.

지금까지 최대 10 개의 My.exe 인스턴스를 동시에 실행할 수있었습니다.

하지만 이제는 최대 값을 30으로 늘려 보았습니다. 하나 또는 다른 com 실행 파일을 인스턴스화 할 수 없기 때문에 일부 실행이 종료 된 것으로 나타났습니다.

이전에는이 ​​문제가 없었습니다.

최대 30 개까지 증가했지만 My.exe는 16 개 또는 17 개의 인스턴스 만 필요하므로 동시에 실행하려고했습니다.

아무도 도와 줄 수 있습니까?

+0

다른 디자인이 더 효율적이라고 생각됩니다. My.exe를 하나씩 실행하면 기존 프로세스와 매번 새로운 프로세스를 시작하는 대신 항상 실행됩니다. 그런 식으로 네 dll은 전체 시간을 인스턴스화 할 수 있고 인스턴스화되면 걱정할 필요가 없습니다. –

+0

내가 여기에서 설명한 방법은 여기에 관련이없는 이유에서 결정됩니다. 나는 그저 문제가 될 수있는 것을 이해하고 싶다. – Holly

답변

0

실제 답변을 드릴만한 정보가 충분하지 않습니다. 구성 요소에 문제가있을 수있는 무수히 많은 것들이 있습니다. 이는 리소스 부족, 다른 객체의 경쟁 조건, 공급 업체에 문의하거나 코드를 가져와야 할 수 있습니다.

+0

다음과 같은 오류가 발생합니다. 해당 파일이 이미 존재할 때 파일을 만들 수 없습니다. – Holly

+0

아마도 로그 파일에 쓰고 있고 여러 인스턴스에서 같은 파일을 만들고 있기 때문입니다. 나는 그것이 30 가지 인스턴스로 작동하도록 설계되지 않았을 것이라고 생각합니다. 공급 업체에 문의해야합니다. –

관련 문제