목록2024/07/05 (2)
개발하는 리프터 꽃게맨입니다.
[멀티스레드 프로그래밍] 스레드 관리
이전글https://powerclabman.tistory.com/118 [멀티스레드 프로그래밍] C++ 동시성 프로그래밍 개론참고사항C++ : Concurrency In Action (원서) 바탕으로 적은 글 입니다.해당 포스팅은 해당 저서의 번역보다는 번역 및 (제 기준으로) 이해하기 쉽도록 재구성한 부분이 다수 있습니다.주의해서 읽으시powerclabman.tistory.com 애플리케이션에 동시성을 사용하기로 결다. 특히, 다수의 스레드를 사용하기로 했다. 이제 어떻게 해야할까? 이 스레드들을 어떻게 시작하고, 완료되었는지 어떻게 확인하며, 어떻게 관리해야할까? C++ 표준 라이브러리는 주어진 스레드와 관련된 std::thread 객체를 통해 대부분의 스레드 관리 작업을 쉽게 수행할 수 있도록 한다..
멀티스레드 프로그래밍/Concurrency in action C++
2024. 7. 5. 02:07
[C++] most vexing parse, 성가신 파싱
most vexing parse 이하 성가신 파싱은 선언으로 해석할 수 있는 것은 선언으로 해석해야 한다.는 규칙이다.예를 들어 아래같은 코드를 보자. 여기서 MyClass a() 를 생각해보자.이 구문은 2가지로 해석될 여지가 있다. 1. 함수 선언2. 객체의 생성 (기본생성자 호출) 그런데 '성가신 파싱'에 의해 무조건 '선언'으로 해석된다. 분명 생성자는 호출했다고 생각했는데생성자가 호출이 안된 것을 볼 수 있다. 따라서 '성가신 파싱'을 회피하기 위해서 객체를 선언하고 싶다면 언제나 중괄호 초기화를 사용하는 것을 권장한다.
언어/C, C++
2024. 7. 5. 01:17