๊ณต์ ์์2 ํ๋ก์ธ์ค ๋๊ธฐํ ๊ธฐ๋ฒ ํ๋ก์ธ์ค ๋๊ธฐํ ํ๋ก์ธ์ค ๋๊ธฐํ๋ ํ๋ก์ธ์ค๋ค ์ฌ์ด์ ์ํ ์๊ธฐ๋ฅผ ๋ง์ถ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ด์์ฒด์ ์ ์ฅ์์๋ ํ๋ก์ธ์ค๋ค์ ์คํ ์์๋ฅผ ์ ์ดํ๊ณ ์ํธ ๋ฐฐ์ (๋์์ ์ ๊ทผํด์๋ ์๋๋ ์์์ ํ๋์ ํ๋ก์ธ์ค๋ง ์ ๊ทผ)์ ์ํํ ์ด๋ฃจ์ด๋ด์ผ ํ์ฃ . ์ด์ ๊ด๋ จํด์ ๊ณต์ ์์๊ณผ ์๊ณ ์์ญ, ์์ฐ์/์๋น์ ๋ฌธ์ , ๊ฒฝ์ ์ํ, ์๊ณ ์์ญ ๋ฑ์ ๊ฐ๋ ์ด ๋์ต๋๋ค. ์ด๋ฌํ ๊ฐ๋ ๋ค์ ์ด์ ์ ๋ค๋ค๊ธฐ ๋๋ฌธ์ ์๋๋ฅผ ์ฐธ๊ณ ํ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค. [C++] 21. ์ค๋ ๋ ๊ฒฝ์ ์ํ(Race condition), ๋ฎคํ ์ค(mutex), ๋ฐ๋๋ฝ, std::conditional_variable, std::async ์ง๋ ํฌ์คํ ์์๋ ๋ฉํฐ์ค๋ ๋์ ๋ฉํฐ ํ๋ก์ธ์ค, std::thread์ ๋ํด ์ดํด๋ดค์ต๋๋ค. [C++] 20. ๋ฉํฐ ์ค๋ ๋ ํ๋ก๊ทธ๋๋ฐ.. 2023. 11. 6. [C++] 21. ์ค๋ ๋ ๊ฒฝ์ ์ํ(Race condition), ๋ฎคํ ์ค(mutex), ๋ฐ๋๋ฝ, std::conditional_variable, std::async ์ง๋ ํฌ์คํ ์์๋ ๋ฉํฐ์ค๋ ๋์ ๋ฉํฐ ํ๋ก์ธ์ค, std::thread์ ๋ํด ์ดํด๋ดค์ต๋๋ค. [C++] 20. ๋ฉํฐ ์ค๋ ๋ ํ๋ก๊ทธ๋๋ฐ(Multi-Threads) ์ค๋์ ์ด์ด์ ์ค๋ ๋๋ผ๋ฆฌ์ ์ถฉ๋ ๋ฌธ์ ์ lock ๋ฌธ์ ๋ฅผ ์ดํด๋ณด๊ณ , ์ค๋ ๋๋ค(workers)์ด wait์ํ์์ ๋๊ธฐํ๋ค๊ฐ ์์ ์ด ์์ ๋ ์์์ ์ฒ๋ฆฌํ๋ ์ค๋งํธํ ์ด์๋ฐฉ์์ ๋ํด ์์๋ณด๊ณ ์ ํฉ๋๋ค. ๊ณต์ ์์(Shared Resources)๊ณผ ์๊ณ์์ญ(Critical Section) ์ค๋ ๋(Thread)๋ ํ๋ก์ธ์ค ๋ด์์ ์คํ๋๋ ์์ ์คํ ๋จ์๋ก, ํ๋์ ํ๋ก์ธ์ค ์์ ์ฌ๋ฌ ๊ฐ์ ์ค๋ ๋๊ฐ ์กด์ฌํ ์ ์์ต๋๋ค. ์ด๋ ์ค๋ ๋ ๊ฐ์๋ ๊ณต์ ์์(Shared Resource)๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ณต์ ์์์ ์์ ํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด ์๊ณ์.. 2023. 8. 22. ์ด์ 1 ๋ค์