나는뿐만 아니라 또한장점
static void report(void)
{
/*Print statistics*/
}
대략마다 호출되는 통계를 인쇄 일부 statistics.The 기능은 인쇄 데이터를 캡처하고 파일로 기록 할 캡처 프로그램이
void capture_program()
{
while()
{
/*Main loop*/
if(doreport)
report();
}
}
타이머의 만료가 플래그를 클리어한다라고 report()
이 플래그를 설정하는 설정 doreport
flag.If 같은 초마다 만료 경보를 사용 second.So 프로그램이다.
지금 내 질문
내가이보고 기능은 다른 프로세스 만약 lock.Now에서 일부 코드를 실행하는 것입니다 할 에 thread.The 주요 의욕 별도의에보고 기능을 이동하는 것을 계획하고있다 자물쇠를 잡고있는 경우 캡처 프로세스가 패킷을 버리는 것을 차단합니다. 따라서 보고서를 스레드로 옮기는 것이 더 좋은 방법이라고 생각합니다.
2)보고를 별도의 스레드에서 구현하려는 경우 매초마다보고 할 때 스레드 내부에 타이머를 사용해야합니까?
OR
매 1 초 간격으로 별도의 스레드에보고 기능을 이동의 장점은 무엇
그들이 길을 일을 유지하는 단점은 무엇입니까? 그것은 작동, 그렇지? 그것을 바꾸려는 동기는 무엇입니까? 루프가 끊임없이 회전하고 연소하는 동안? – Duck
@Duck - 업데이트 된 질문 설명을 참조하십시오. – liv2hak