semaphore3 레이저 포인터(White Line) Detection을 통한 실시간 영상 처리(Just-In-Time) 시스템 개발 일지를 남기며 20~22년 석사 졸업, 22년 대기업 연구직 취뽀. 그런데 막상 돌이켜보니까 22년에 업무로 뭘 했는지 기억이 안나네, 그래서 아 주기적으로 기록을 남겨야겠다라고 마음먹고 이렇게 글을 쓰게 되었다. 이런게 있어야 나중에 이직하더라도 자기소개서에 쓸 내용이 있지 아니면 물경력 될 듯. 요즘 평생 직장 없듯이 언제든 좋은 환경의 근무지, 높은 연봉 제안을 받으면 빠른 이직 시대에 맞게 언제든지 내가 무엇을 했고, 무엇을 느꼈으며, 그 과정에서 무엇을 배웠는지 남겨야 겠다고 생각한다. 23년 1월 ■ 현장에 설치된 레이저 포인터(White Line) Detection 과정을 수행하는 시스템 개발 프로젝트 착수 ■ C# 또는 C++ language 선택 필요했다 (결론은 C++ 선택). → 초당.. 쉽코딩(@swipcoding) 2023. 4. 20. C++ 멀티스레딩(multi-thread) 기본 개념: 세마포어(semaphore)와 while() loop를 사용한 프로세스 병렬 처리 이해하기 Multi-threading 멀티스레딩은 여러 실행 스레드가 단일 프로세스 내에서 동시에 실행될 수 있도록 하는 프로그래밍 개념입니다. 스레드는 프로세스 내에서 가장 작은 실행 단위이며 가볍고 독립적인 명령 시퀀스로 생각할 수 있습니다. 각 스레드는 자체 스택 및 프로그램 카운터를 갖지만 동일한 프로세스의 다른 스레드와 메모리 및 파일 핸들과 같은 동일한 주소 공간 및 리소스를 공유합니다. 멀티스레딩의 기본 개념은 여러 작업 또는 작업의 일부를 동시에 실행하여 애플리케이션의 성능과 응답성을 향상시키는 것입니다. 스레드가 여러 코어에 분산되어 병렬로 실행될 수 있으므로 이는 여러 CPU 코어가 있는 시스템에서 특히 유용할 수 있습니다. 멀티스레딩과 관련된 몇 가지 주요 개념은 다음과 같습니다. 동시성(Co.. C++/C++ 적용 예제 2023. 3. 20. C++ IPC(프로세스 간 통신) 완벽 정리 : 공유 메모리 및 Windows 세마포어(semaphore)와 멀티-스레드(multi-thread) 동기화하는 방법을 알아보자 [예시 코드 첨부] [데이터 전송 구성도] 서버(server_v2.cpp) ↔ 클라이언트(client_v4.cpp) → 다른 프로젝트/프로세스(BasicThread_v0.cpp) □ 서버와 클라이언트 : TCP/IP 송수신 □ 클라이언트와 다른 프로젝트/프로세스 : 공유 메모리(Shared Memory) 꼭 읽으면 좋은 글 본 포스팅이 어렵다면, 아래 링크의 포스팅을 공부하면 쉽게 이해할 수 있습니다. 1. TCP/IP 기초: https://easycode.tistory.com/19 3. TCP/IP 중급: https://easycode.tistory.com/20 4. TCP/IP 고급: https://easycode.tistory.com/21 5. 공유 메모리 : https://easycode.tistory.com/23 .. C++/C++ 적용 예제 2023. 3. 19. 이전 1 다음