장치 이벤트의 유효성을 검사하는 Python 프로그램을 작성하고 있습니다.스레드 동기화를위한 설계 도움말
나는 continuosly 장치에서 시리얼 포트에서 일부 데이터를 읽고 있습니다. 장치의 직렬 포트에 무엇인가를 쓸 때 장치는 내가 읽어야하는 직렬 포트에 문자열을 씁니다. 연속적으로 직렬 포트에서 파트를 읽는 것은 별도의 작업자 스레드에 있습니다.이 작업을 한 줄씩 읽고 스레드에 씁니다. 장치는 일부 데이터를 지속적으로 기록하고 이벤트 설명을 serail 포트에 씁니다. 내가 장치에 뭔가를 쓸 때
더 구체적으로, 디바이스에 이벤트를 생성합니다. 이벤트에 대한 설명이 직렬 포트에 다시 기록됩니다. 이 다시 그것을 읽고 이벤트가 발생했는지 여부를 확인해야합니다.이제 뭔가를 쓰고 해당 이벤트 desc를 읽기 시작하여 그 출력이 이미 사라져서 다음에 다른 출력 행이 표시 될 때까지 스레드에서 줄 단위로 장치 출력을 읽는 중 무슨 일이 발생합니까? 읽히고. 어떻게 동기화합니까?
는이 부분을 설계 좀 도와 줄래? 그냥 비동기 IO에 대한 스레드를 사용하는 경우
당신은 당신이 지금하고있는 일의 작은 코드 조각이 있습니까? 장치에서 계속해서 읽는다면 라인을 "빠뜨릴"방법이 없어야합니다. – jdi
또한이 읽기 및 쓰기 프로세스는 이유 때문에 두 개의 독립적 인 스레드 여야합니까? 단일 스레드에 대한 요청 - 응답 시스템처럼 들립니다. 나중에 비동기가되어서 나중에 독자가 게시 된 이벤트의 유효성을 검사하고 작성자가 계속 움직일 수 있습니까? 클래스 SerialCom : __init __ (자기, 처신) : self.comport = self.readSerialPortThread = ReadSearialPortThread (self.comport) 데프 writeStringToSerialPort() 처신 : self.comport을 다음과 같이 – jdi
코드 조각이다 .write (somedata) –