이 문제를 해결하는 최선의 방법을 찾아 낼 수 없습니다.Windows 서비스 내의 스레드 내의 타이머
지금은 특정 DSN이있는 데이터베이스에서 데이터를 수집 한 다음 데이터가 유효한 경우 전자 메일을 보내는 작업 만하는 Windows 서비스가 있습니다. 이 서비스에는 매 5 분마다 틱하고 위의 작업을 수행하는 타이머가 있습니다.
이제 1 개 이상의 DSN에서 실행할 수 있도록 Windows 서비스를 다시 작성해야합니다. Windows 서비스 내부에서 여러 스레드를 만든 다음 각 스레드 안에 seperat 타이머를 다시 설치하려고합니다. 좋은 생각인가요? 어떻게 할 수 있습니까? 각 DSN에 대해 Windows 서비스가 없도록하고 싶습니다. 나는 어떤 의미
을 해달라고하면일리노이을 그리는 시도
Windows Service
Thread1 (DSN1) ------------------------ ----- 스레드 2 (DSN2) ---------------------- 스레드 3 (DSN3)
타이머 (X 분마다 틱) ------ ----------- 타이머 (동일) ------------------------- 타이머 (동일)
로직() - --------------------------------------------논리----- ---------------------------- 논리()
호프 내 문제가 되길 바랍니다.
@jrb에 따르면 타이머 대신 BackGroundWorker를 사용할 수도 있습니다. –
+1. 이 맥락에서 심지어 실재 스레드가 없다는 것은 제로 센스를 만듭니다. 도대체 뭐야? 기다리고 있니? 타이머는 필요에 따라 스레드를 가져옵니다. – TomTom
의견을 보내 주셔서 감사 드리며, 타이머 자체가 스레드임을 나타냅니다. 그래서 나는 나사 부분을 완전히 버릴 수 있었습니까? backgroundworker 스레드를 사용하여, 그럼 내가 왜 사용합니까? 내가 건너 왔던 또 다른 질문은 내 서비스를 중단 할 때 스레드를 닫는 방법 이었지만 스레드가 필요하지는 않지만 타이머 만 필요하면 더 이상 중요하지 않습니까? – Thomas