fetch_add()는 원자적(atomic) 연산 중 하나입니다.
C++11에서 추가된 C++ 표준 라이브러리의 std::atomic 클래스의 멤버 함수 중 하나로,
특정 변수에 대한 원자적인 덧셈 연산을 수행합니다.
fetch_add()는 특정 변수의 값을 가져온 후에 해당 변수에 인자로 전달된 값을 더하고, 그 결과를 반환합니다.
이 과정에서 해당 변수는 다른 스레드에 의해 변경되지 않는 원자적인 연산이 보장됩니다.
예를 들어, 다음 코드는 x 변수에 대해 fetch_add() 함수를 사용하여 1을 더하는 코드입니다.
위 코드는 x 변수의 값을 1 증가시키고, 그 결과를 result 변수에 저장합니다.
fetch_add() 함수는 원자적 연산이므로 다른 스레드가 x 변수를 변경하더라도
결과에는 영향을 주지 않습니다.
atomic도 매우 좋은 방법이지만
일반적으로는 lock을 걸어서 한다.
반응형
'프로그래밍 언어 > c++' 카테고리의 다른 글
[c++] Future 병렬 처리 방법 (0) | 2024.05.29 |
---|---|
[C/C++] Stack in c++ (기본 사용법, 예제) (1) | 2024.05.29 |
[c++] 대문자, 소문자 구분 하는 방법 (islower, isupper) (0) | 2023.05.03 |
[C++]size_t 와 string::npos란 무엇일까? (0) | 2023.04.29 |
[C++] pow, sqrt 함수란?(루트함수, 제곱, 제곱근) (0) | 2023.04.28 |