[GP] Unix Thread์ ๊ธฐ๋ณธ์ ๋ค์ ธ๋ณด์
์ด ๊ธ์ ์ ์ Github Page์ ๋ด์ฉ ์ค ์ผ๋ถ๋ฅผ ๋ด์์จ ๊ฒ์ ๋๋ค.
๊ฐ๋ฐ ๊ธ์ ์จ์จ์ง ๋ฒ์จ 4๊ฐ์์ด ์ง๋ฌ์ง๋ง, ํ๊ต ์ํ๊ณผ ์ฑ์ ๊ด๋ฆฌ ๋ฑ์ผ๋ก ์ธํด ์ปจํ ์ธ ๊ฐ ๋ง์ด ๋ถ์กฑํ์ฌ ์ด๋ฆฌ์ ๋ฆฌ ์๊ฐํด ๋ณธ ๊ฒฐ๊ณผ, ์ด ๊ฐ๋ฐ ๋ธ๋ก๊ทธ์ ์ ๊ฐ ์๊ณ ์๋ ๋ชจ๋ ๊ฐ๋ฐ ์ง์๋ค์ ์ฌ๋ฆฌ๋ ค๊ณ ํฉ๋๋ค. ๋ฌผ๋ก ์ฉ๋๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์๊ฒ ์ง๋ง, ์ฃผ ์ฉ๋๋ ์ฌ๋์ ๊ธฐ๋ณธ์ ์ธ ํน์ฑ์ธ ๋ง๊ฐ ํน์ฑ ๋๋ฌธ์ด๊ฒ ์ฃ ? ใ ใ
์ค๋์ Unix Programming์ ๋ํ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ์๋ก ์ถ๊ฐํ์ฌ, pthread๋ถํฐ ์์ํด๋ณด๋ ค ํฉ๋๋ค. ์ ์ฐ๋ ๋๋ถํฐ ์์ํ๋๊ณ ์? ๊ทธ๋ ๊ตฐ์. ์ฌํด๋ ์ ๋ํ ์ ํ๋ก์ ํธ, ๊ณผ์ ๋ฑ์์ ๋ชจ๋ ์ฐ๋ ๋๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ์ด์ผ๊ธฐ ํ๊ณ ์ถ๋ค์..
์ด ๊ธ์ ์ฝ์ด๋ณด์๊ธฐ ์ ์, Thread์ ๋ํ ๊ธฐ์ด์ ์ธ ๊ฐ๋ ์ด ์์ง๋ ์ํฉ์์ ์ฝ๊ธฐ๋ฅผ ๊ถ์ฅํฉ๋๋ค.
Typical Thread
Typical Thread๋ Unix, System V ์ ์ฐ๋ ๋๋ก, POSIX Thread์ ๋ชจํ๊ฐ ๋ ์ฐ๋ ๋์ ๋๋ค. ์๋ง ์ง๊ธ์ pthread๋ผ๊ณ ๋ถ๋ฆฌ์ฐ๋ ๊ฒ์ด ์ ๊ฐ ๋ณด๊ธฐ์ ์ด ์ฐ๋ ๋์ด์ง ์๋ ์๊ฐํฉ๋๋ค.
POSIX Thread
์ฐ๋ ๋์๋ ์ฌ๋ฌ ๊ฐ์ง ์ฐ๋ ๋๊ฐ ์์ต๋๋ค. Windows ์ด์์ฒด์ ์์ ์ฌ์ฉํ๋ WindowThread, Mac OS X ์์ ์ฌ์ฉํ๋ NSThread ๋ฑ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์๋๋ฐ์. ์ค๋์ ๊ทธ ์ค์์ POSIX Thread์ ๋ํ ์ด์ผ๊ธฐ๋ฅผ ํด๋ณด๊ณ ์ ํฉ๋๋ค.
POSIX Thread๋ ๋ณ๋ ฌ ํ๋ก๊ทธ๋๋ฐ์ ํ๊ธฐ ์ํ C ์ ํ์ค API ์ ๋๋ค. ์ค์ Unix ๊ณ์ด ์ด์์ฒด์ ์์ ์ฐ๋ ์ฐ๋ ๋ ํจ์์ด๋ฉฐ ์ด๋ฅผ ํ์ค ์ฐ๋ ๋ API๋ก ์ผ์ ๊ฒ์ด์ฃ . ์ด๋ Mac OS X๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. Mac OS X ์๋ NSThread๊ฐ ์กด์ฌํ์ง๋ง, Objective C ์ธ์ด๋ฅผ ์ฌ์ฉํด pthread์ ๋ณํํด์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ Unix ์์คํ ๊ณผ ์ ํ ๋ค๋ฅธ Windows ์์๋ pthread๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด์ด์ ์ฝ์ผ์๋ ค๋ฉด ์๋์ ๋ฒํผ์ ํด๋ฆญํด์ฃผ์ธ์.
'Programming > C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[GP] C++์์ Map์ ๋ํด ์์๋ณด์ (0) | 2019.08.09 |
---|---|
[GP] C++ ์ธ์ด์์ MQTT ์ฌ์ฉํด๋ณด๊ธฐ (0) | 2017.10.29 |
[GP] Boost Library ์ค์น์ ์ฌ์ฉ (0) | 2017.03.05 |
CMake๋ฅผ ์ด์ฉํ C/C++ ํ๋ก์ ํธ ๋น๋ (0) | 2017.03.04 |
chkmd5 (ํ์ผ MD5 ํด์๊ฐ ๊ฐ์ ธ์ค๋ ํ๋ก๊ทธ๋จ, only Windows OS) (0) | 2017.01.26 |