프로그램 (Java)에서 병렬 포트의 특정 핀을 확인해야합니다. 그 핀이 논리적 인 0에서 1 (포지티브 에지 클럭)이 될 때마다 포트의 데이터를 읽고 저장해야합니다. 이것은 약 10ms마다 발생하지만 조금 다를 수 있습니다.while 루프를 사용하지 않고 포트를 계속 검사합니다.
이 작업을 수행하기 위해 끊임없이 포트를 확인하는 while 루프가있는 별도의 스레드를 만들었지 만 프로세서가 중단되고 while 루프가 원인 인 것으로 알고 있습니다. 내 질문은, 어떻게 지속적으로 프로세서 집중적 인 루프를 사용하지 않고 포트를 스캔 할 수 있습니까? 이 프로그램은 핀 교환이 언제 일어날 지 정확히 알지 못하며 단지 10ms마다 발생합니다.
OS가 무엇입니까? 믿을만한 샘플링을 지원하는 커널 드라이버가 꼭 필요합니다. – Daniel
내 OS는 Windows XP Professional입니다. Timer가 작동하고 너무 프로세서 집약적 인 것은 아닙니다. – Hans