리눅스 C 무한루프에 관한 질문입니다.
슬S2아
2023.10.07
질문 제목 : 리눅스 c 무한루프에 관한 질문입니다.무한루프시 키보드 입력 혹은 예외 입력 처리에 관한 질문입니다.질문 내용 : 안녕하세요 지금 시스템 뷰어를 만들어 보고 있는데요,
제 나름대로 생각한게 있는데요, 음.,. 개발환경이 현재 리눅스에서 개발을 하고 있습니다.
제가 리눅스에서 cpuinfo 정보를 가져와서 그 데이터를 무한루프로 실시간적으로 클라이언트에다가 데이터를 전송하게 되는데요.
저는 이부분을 무한루프를 이용하여 계속 데이터를 수신하다가 클라이언트에서 프로그램 실행중 키보드 키값을 누를 경우 무한루프가 빠져나가는 방식의 코드를 짜고 싶습니다. 그런데 이부분이 의외로 잘안됩니다..
어뜻 듣기론 쓰레드를 쓰라는 분도 있는데요. 혹시 적절한 방법이 있으면 힌트좀 부탁드리겠습니다.
-
큰가람 2023-10-07
갱신하는 thread와 패킷을 받는 thread를 따로 두어
flag 두셔서 main thread에서 갱신thread를 멈출수 있게 해주시고(while에선 이 flag를 검사...),
클라이언트에서 입력을 받을경우 종료패킷을 날려 리눅스 서버가 그 패킷을 받으면 패킷 thread에서 flag를 바꿔 while문을 빠져나오도록 하는방법도 있어요...