내가 시나리오를 다음과 달성하는 데 필요한, 이것 좀 도와주세요 :C++에서 각 개체의 타이머를 구현하는 방법은 무엇입니까?
- 큐는 유지됩니다, 어떤 객체를 포함 할 것이다.
- 개체가 큐에 삽입되면 해당 개체에 대해 타이머가 시작됩니다.
- 이 신호는 이벤트가 발생할 때마다 객체에 전송한다 (이벤트는 타임 아웃 등의 약간의 오차 등일 수있다).
- 이 개체에 대해 발생한 이벤트가 캡처되고 개체 ID가 수신됩니다. 개체 ID는 큐에있는 개체를 구별하고 적절한 작업을 수행해야합니다.
나의 접근 방식은 다음
이- 가
thread_function1(void *object_id);
에 개체 ID를 전달하고 그것을위한 타이머로sleep()
을 사용할 각 개체에 대한 스레드를 만들 목적. - 지금 다른 개체에 대해 나는이 동적으로 원하는대로 작동하지 않습니다
new thread_function2(void *object_id);
위의 방법을 만들어 같은 일을해야합니다.
운영 체제 : 리눅스.
내가 C의 ++에서 이것을 구현하려는, 그래서이 구현 적이없는 나는 전진 여러분의 도움과지도가 필요합니다. 모든 온라인 자습서, 참조 도움이 될 것입니다. 미리 감사드립니다.
C++ 언어도 표준 라이브러리도 타이머를 구현하지 않습니다. 목표로하는 운영 체제에 대해 구체적으로 설명해야합니다. 그리고 당신이 일을 시도한 것을 보여주고 그것이 왜 효과가 없었는지 설명하십시오. –
추가 정보 필요 – user1057741
잠자는 수면 스레드를 만드는 대신 향후 이벤트 목록을 만드십시오. 다음 이벤트에서 깨어나도록 프로그래밍 된 하나의 대기 "물건"(스레드, 시스템 타이머 등)이 필요합니다. 다른 이벤트가 삽입되어 현재 가장 가까운 이벤트보다 가깝다면 대기를 취소하고 다른 이벤트를 시작하십시오. –