
Busy Waiting์ด๋?
- ์ํ๋ ์์์ ์ป๊ธฐ ์ํด ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ด ์๋๋ผ
๊ถํ์ ์ป์ ๋๊น์ง ํ์ธํ๋ ๊ฒ
์ ์๋ฏธํฉ๋๋ค.
Busy Waiting์ ์ด๋ค ์ํฉ์ผ๋ ์ฌ์ฉํ๋๊ฒ ์ข์๊น?
- ์์์ ๊ถํ์ ์ป๋๋ฐ ๋ง์ ์๊ฐ์ด ์์๋์ง ์๋ ์ํฉ์ธ ๊ฒฝ์ฐ.
- Context Switching ๋น์ฉ๋ณด๋ค ์ฑ๋ฅ์ ์ผ๋ก ๋ ์ฐ์ํ ์ํฉ์ธ ๊ฒฝ์ฐ.
Busy Waiting์ ๋จ์ ์ ์์๊น?
- ๊ถํ ํ๋์ ์ํด ๋ง์ CPU๋ฅผ ๋ญ๋นํ๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.
Busy Waiting๋ง๊ณ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์์๊น?
- ์ง์์ ์ผ๋ก ํ์ธํ๋ Busy Waiting์ด ์๋
Sleeping
์ด๋ผ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Sleeping์ด๋?
- ๊ถํ์ ์ป๊ธฐ ์ํด ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์
wait queue
์ ์คํ ์ค์ธ Thread ์ ๋ณด๋ฅผ ๋ด๊ณ ๋ค๋ฅธ Thread์๊ฒ CPU๋ฅผ ์๋ณดํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
- ์ปค๋์ ๊ถํ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด
wait queue
์ ๋ด๊ธด Thread๋ฅผ ๊นจ์ CPU๋ฅผ ๋ถ์ฌํฉ๋๋ค.
Sleeping์ ์ด๋ค ์ํฉ์ผ๋ ์ฌ์ฉํ๋๊ฒ ์ข์๊น?
- ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ด ์์ธก์ด ๋ถ๊ฐ๋ฅํ ์ํฉ์ธ ๊ฒฝ์ฐ.
Sleeping์ ๋จ์ ์ ์์๊น?
- wait queue์ ๋ฃ๋ ๋น์ฉ + Context Switching ๋น์ฉ์ด ๋๋ ๋จ์ ์ด ์์ต๋๋ค.
Reference