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