2014-04-29 3 views
-2

주기적으로 장치에 메시지를 보내는 C# 응용 프로그램을 개발 중입니다.주기적 작업 실행

첫 번째 질문 : 주기적으로 (1 초마다) 메시지를 보내는 기능을 실행하는 가장 좋은 방법은 무엇입니까?

두 번째 질문 : 주기적 요청을 중지하고 코드 블록을 실행 한 다음 정기적 요청을 다시 시작하려고합니다. 이 메커니즘을 구현하는 가장 좋은 방법은 무엇입니까?

정기 요청은 다른 스레드에서 실행되어야합니다.

"코드 블록"을 실행하기 전에 정기적 인 요청을 중지하고 코드 블록의 끝에서 다시 시작하는 것이 해결책 일 수 있지만 정기적 인 요청 측면에서 뭔가를 구현하고 싶습니다.

+1

왜'timer'을 사용하지 봐야한다 무엇인가? –

+0

타이머가 해결책이 될 수 있습니다, 방금 가장 좋은 방법은 무엇입니까? – penguru

+0

"뭔가 똑똑한"이란 무엇을 의미합니까? 너 무슨 짓을 한거야? 코드 게시! – Xaruth

답변

0

첫 번째 질문 : 스레드가 필요합니다. 스레드 내부에서 무한 루프를 원합니다. 그런 다음 if 명령문이 타이머를 확인합니다.

두 번째 질문 : 그러면 해당 루프 안에 semaphore이 필요합니다. 세마포어는 코드를 차단 한 다음 준비가되면 깨어납니다.


while(true) 
    { 
     check semaphore 

     if one second has passed 
     then send message. 
    } 
관련 문제