From 1fd49a571338b6c946bb05dcdf59ec1468df5c50 Mon Sep 17 00:00:00 2001 From: SWK <sungwk82@diteam.co.kr> Date: 목, 22 12월 2022 12:31:43 +0900 Subject: [PATCH] ongoing50 #4403 CF AOI Reveiw TACT 지연 개선 1. 일정 시간 유지 신호 처리 시 동기화로 인한 불합리 개선 - 일정 시간 유지 필요 시 스래드풀 작업큐를 이용하여 루프처리 방식으로 변경 - 유지 신호 처리 중 출력 신호 발생 시 작업큐에 등록하여 유지 신호와 결합하여 출력 처리 2. FDC 보고 항목 중 SW 버전 체크 루프 불합리 개선 - 프로그램 시작 시 연동 프로그램 버전 체크 간 실행되지 않는 프로그램이 있는 경우 무한 루프 발생 - 무한 루프로 인한 CPU 점유 상승->루프 중간 Sleep추가 및 코드 간소화 3. 로그 메시지에 시간 ms단위 추가(황만수SM 작업 내역 병합) --- ReviewHistory/include/akGraph/akSyncObject.h | 31 +++++++++++++++++++++++++++++++ 1 files changed, 31 insertions(+), 0 deletions(-) diff --git a/ReviewHistory/include/akGraph/akSyncObject.h b/ReviewHistory/include/akGraph/akSyncObject.h new file mode 100644 index 0000000..bd36270 --- /dev/null +++ b/ReviewHistory/include/akGraph/akSyncObject.h @@ -0,0 +1,31 @@ +#pragma once + + + + +class AFX_EXT_CLASS CakSyncObject +{ +public: + CakSyncObject(void); + virtual ~CakSyncObject(void); + +public: + //읽기 지정을 하였을때... 이미 어디서 쓰고 있다면.. 기다렸다가 다음을 수행한다. + //bWait = false 일경우.. 어딘가에서 쓰고 있다면 false를 반환하고 끝내버린다. + bool SetRead(bool bWait = true); + //쓰기 지정을 하였을때... 이미 어디서 읽고 있다면.. 기다렸다가 다음을 수행한다. + bool SetWrite(bool bWait = true); + int SetReadRelease(); //현재 남아있는 읽기 카운트 반환 + void SetWriteRelease(); + + int GetReadCount(){return m_nReadCount;}; //읽기 호출한 횟수 반환 + bool GetWriteState(){return m_bWrite;}; //0이 될때까지 그리는 루틴은 무한 루프가 돈다. + + +protected: + +private: + bool m_bWrite; + int m_nReadCount; + +}; -- Gitblit v1.9.3