์ฐ๋ ๋์ ์คํ ์ ์ด
- “ํจ์จ์ ์ธ ๋ฉํฐ์ฐ๋ ๋ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ”
- =์ ๊ตํ ์ค์ผ์ค๋ง์ ํตํด ํ๋ก์ธ์ค์๊ฒ ์ฃผ์ด์ง ์์๊ณผ ์๊ฐ์ ์ฌ๋ฌ ์ฐ๋ ๋๊ฐ ๋ญ๋น์์ด ์ ์ฌ์ฉํ๋๋ก ํ๋ก๊ทธ๋๋ฐ ํ๋ ๊ฒ.
๋ฉ์๋(1)
- static๋ฉ์๋๋ผ ์์ ์๊ฒ๋ง ์ฌ์ฉ์ด ๊ฐ๋ฅํจ. (์์ =ํ์ฌ ์คํ ์ค์ธ ์ฐ๋ ๋)
๋ฉ์๋(2)
์ฐ๋ ๋์ ์ค์ผ์ค๋ง ๊ด๋ จ ๋ฉ์๋
sleep(์๊ฐ) static๋ฉ์๋
- ์ง์ ๋ ์๊ฐ๋์ ์ฐ๋ ๋ ๋ฉ์ถ๊ธฐ.
- sleep์ ์ํด ์ผ์์ ์ง๋ ์ฐ๋ ๋๋ฅผ ๊นจ์ฐ๋(์คํ๋๊ธฐ ์ํ๋ก ๋ง๋ค๊ธฐ) ๋ฐฉ๋ฒ
- โ ์ง์ ๋ ์๊ฐ ๋ค ๋๊ธฐ
- โก interrupt( )ํธ์ถ
- sleep( )ํธ์ถ ์ ๋ฐ๋์ try-catch๋ฌธ์ผ๋ก ์์ธ์ฒ๋ฆฌ ํด์ฃผ์ด์ผ ํจ. (์ด๊ฒ์ ๋ฉ์๋๋ก ๋ง๋ค์ด๋ ๋จ)
- ๋ค๋ฅธ ์ฐ๋ ๋๊ฐ ํ์ฌ ์ฐ๋ ๋์๊ฒ interruptํ๋ฉด
- sleep( )๋ฉ์๋๊ฐ Interrupted Exception์ ๋์ง๊ณ ์ผ์์ ์ง ์ํ์์ ๋น ์ ธ๋์์ ์คํ๋๊ธฐํจ.
- sleep( )์ ํญ์ ํ์ฌ ์คํ์ค์ธ ์ฐ๋ ๋์ ๋ํด ๋์ํจ.
t1.sleep(1000)X Thread.sleep(1000) O
deprecated๋ ๋ฉ์๋๋ค (๊ต์ฐฉ์ํ ์ผ์ผ์ผ์)
- suspend( ): ์ฐ๋ ๋ ๋ฉ์ถ๊ธฐ
- resume( ): suspend๋ก ์ ์ง๋ ์ฐ๋ ๋๋ฅผ ์คํ๋๊ธฐ ์ํ๋ก ๋ง๋ฆ
- stop( ): ํธ์ถ๋๋ ์ฆ์ ์ฐ๋ ๋๋ฅผ ์ข ๋ฃํจ
์ฐ๋ ๋์ ์์ ์ค๋จ
- ๊ฐ์ ์ ์ธ ์์ ์ค๋จ
- ์ง์ ์ ์ธ ์์ ์ค๋จ
interrupt( )
- โ ์ฃผ๋ก ์ฐ๋ ๋์ ์์ ์ ๊ฐ์ ๋ก ์ค๋จ์ํค๊ธฐ ์ํด ์ฌ์ฉํจ. ํ์ฌ ์์ ์ค์ธ ์ฐ๋ ๋์๊ฒ interrupt() ๋ฉ์๋๋ฅผ ํธ์ถํ๋ฉด, ํด๋น ์ฐ๋ ๋๋ ์คํ ๋๊ธฐ ์ํ๊ฐ ๋จ. (๊ฐ์ ์ ์ธ ์์ ์ค๋จ์ฒ๋ผ ๋จ)
- โกsleep()์ด๋ join() ๋ฉ์๋๋ฅผ ํธ์ถํ๊ณ ์๋ ์ฐ๋ ๋์๊ฒ interrupt()๋ฅผ ํธ์ถํ๋ฉด, ํด๋น ์ฐ๋ ๋๋ InterruptedException ์์ธ๋ฅผ ๋ฐ์์ํค๊ณ ์คํ ๋๊ธฐ ์ํ๊ฐ ๋จ. ์ด ๋๋ฌธ์ ํด๋น ์ฐ๋ ๋๋ ์ผ์์ ์ง ์ํ์์ ๋ฒ์ด๋๊ฒ ๋์ด, ๋ค์ ์์
์ ์ํํ ์ ์์.
- โก๋ฒ ๊ฒฝ์ฐ ์ฐ๋ ๋๊ฐ sleep( ), wait( ), join( )์ผ๋ก ์ผ์์ ์ง ์ํ๊ฐ ๋จ. → interrupt( ) ํธ์ถ. →์ผ์์ ์ง ๋ฉ์๋์์ InterruptedException ๋ฐ์. → ์ฐ๋ ๋ ์คํ๋๊ธฐ ์ํ๊ฐ ๋จ.
- โขinterrupt() ๋ฉ์๋๋ ์ฐ๋ ๋๊ฐ ๋ฌดํ ๋ฃจํ์ ๋น ์ ธ ์์ ๋, ์ฆ์ ์ค๋จ์ํค๊ธฐ ์ํด ์ฌ์ฉํ ์ ์์. ์ด ๊ฒฝ์ฐ์๋ interrupt() ๋ฉ์๋๋ฅผ ํธ์ถํ๋ฉด, ์ฐ๋ ๋๋ InterruptedException ์์ธ๋ฅผ ๋ฐ์์ํค๊ณ ์คํ ๋๊ธฐ ์ํ๊ฐ ๋จ.
- →๋ฐ๋ผ์, interrupt() ๋ฉ์๋์ ์ญํ ์ ์ํฉ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง์ง๋ง, ์ฃผ๋ก ์ฐ๋ ๋๋ฅผ ๊ฐ์ ๋ก ์ค๋จ์ํค๊ธฐ ์ํด ์ฌ์ฉ๋จ.
interrupt( )์ interrupted( )
yield( ) static๋ฉ์๋
- ์ฐ๋ ๋ ์์ ์๊ฒ ์ฃผ์ด์ง ์๊ฐ์ ๋ค์ ์ฐจ๋ก ์ฐ๋ ๋์๊ฒ ์๋ณดํจ.
- ํ์ฌ ์คํ ์ค์ธ ์ฐ๋ ๋๊ฐ ๋ค๋ฅธ ์ฐ๋ ๋์๊ฒ ์คํ์ ์๋ณดํ๊ณ , ๋ค์ ์ฐจ๋ก์ ์ฐ๋ ๋์๊ฒ CPU๋ฅผ ์๋.
- ์คํ ์ค์ธ ๋ค๋ฅธ ์ฐ๋ ๋์๊ฒ ์คํ ๊ธฐํ๋ฅผ ์ฃผ๋ ์ญํ .
join( )
- ์ฐ๋ ๋ ์์ ์ด ํ๋ ์์ ์ ์ ์ ๋ฉ์ถ๊ณ ๋ค๋ฅธ ์ฐ๋ ๋๊ฐ ์ง์ ๋ ์๊ฐ๋์ ์์ ์ ์ํํ๊ฒ ํจ.
- ํธ์ถ ์ sleep์ฒ๋ผ try-catch๋ฌธ์ผ๋ก ๊ฐ์ธ์ผํจ.
'๐ฅ๏ธ ๋ฐฑ์๋ > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ch.14] ๋๋ค์ (0) | 2023.11.15 |
---|---|
[CH.13] ์ฐ๋ ๋์ ๋๊ธฐํ(Lock) (0) | 2023.11.15 |
[ch.13] ํ๋ก์ธ์ค์ ์ฐ๋ ๋ (0) | 2023.11.15 |
[ch.12] ์ด๊ฑฐํ, ์ ๋ํ ์ด์ (0) | 2023.11.14 |
[ch.11] ์ง๋ค๋ฆญ์ค (0) | 2023.11.14 |