작성
·
786
0
아래와 같은 프로그램을 만들때 어떤 방식으로 병렬처리를 구성 하면 될까요 ?
조건 1 : 외부 통신 (시리얼) 로 물체의 감지 여부 (스트림 수신데이터) 를 계속 적으로 확인 해야 한다.
조건 2: 조건 1에서 물체가 감지 되었을때, 카메라의 영상을 가져온다.
조건 3: 조건 2에서 가져온 영상데이터를 다양한 처리를 하여 결과를 산출한다 (시간이 걸리는 작업)
——현재 문제점—
조건 3에서 시간이 걸리기 때문에 조건 1의 감지가 실행 되지 않는 문제
제가 생각하는 루틴
Producer-Consumer Pattern 패턴 적용
조건 1에서 물체 감지
—생산자—
조건 2에서 Queue 에 카메라 영상 저장
—소비자—
조건 3에서 Queue 에 카메라 영상을 가져와 처리
질문 1 : 위와 같은 경우 어떤 병렬처리를 적용하면 제일 좋을까요 ?
질문 2 : Producer-Consumer Pattern 패턴 적용 시 “py_ad_1_7.py”
조건3에서 오래 걸리는 작업을 실행 시 조건 1도 중간 중간 실행 할수 있을까요 ?
감사합니다.
답변 1
0
안녕하세요. slee 님.
동기화가 핵심일 것 같습니다.
현재 문맥만으로는 어떤게 정답이다라고 답변이 힘들 것 같아요!
직접 구현해보시고 그에 맞게 코드를 수정하시면서 테스트하시는게 맞을 것 같습니다.
다만, 단순하게 데이터 수신과 발신 동기화 관련 로직일 경우는 본문과 같이 구현해도 괜찮을 것 같습니다.