thread
-
[Thread] Runnable and Callable in Java๊ฐ๋ฐ/Java 2022. 4. 25. 15:31
Java ์ด๊ธฐ๋ถํฐ ๋ฉํฐ์ค๋ ๋ฉ์ ์ธ์ด์ ์ฃผ์ ์ธก๋ฉด์ด์๋ค. Runnable ์ ๋ค์ค ์ค๋ ๋ ์์ ์ ๋ํ๋ด๊ธฐ ์ํด ์ ๊ณต๋๋ ํต์ฌ ์ธํฐํ์ด์ค์ด๊ณ , Callable ์ Java 1.5์ ์ถ๊ฐ๋Runnable์ ๊ฐ์ ๋ ๋ฒ์ ์ด๋ค. ๋ ์ธํฐํ์ด์ค ๋ชจ๋ ์ฌ๋ฌ ์ค๋ ๋์์ ์คํํ ์ ์๋ ์์ ์ ๋ํ๋ด๋๋ก ์ค๊ณ๋์๋ค. ํ์ง๋ง, Runnable์ Threadํด๋์ค ๋๋ExecutorService ๋ฅผ ์ฌ์ฉํ์ฌ ์คํํ ์ ์๋ ๋ฐ๋ฉด Callable ์ ํ์๋ฅผ ์ฌ์ฉํด์๋ง ์คํํ ์ ์๋ค. ๊ทธ๋ผ ์ฐจ์ด์ ์ ์์ธํ ์ดํด๋ณด์. Runnable ๐ก๋ฐํ ๊ฐ Runnable ์ธํฐํ์ด์ค ๋ ๊ธฐ๋ฅ์ ์ธํฐํ์ด์ค์ด๋ฉฐ ๋งค๊ฐ๋ณ์๋ฅผ ํ์ฉํ์ง ์๊ณ ๊ฐ์ ๋ฐํํ์ง ์๋ ๋จ์ผ run() ๋ฉ์๋๊ฐ ์๋ค. ์ค๋ ๋ ์คํ์ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์ง ์๋ ์ํฉ์ ์ ํฉํ๋ค. ๐ก์คํ ..
-
[Thread] Program, Process, Thread, Multi-Thread๋? - ๊ตฌ์ฒด์ ์ธ ์๋ ๋ฐฉ์์ ๋ํ ๊ณต๋ถ ๊ธฐ๋ก๊ฐ๋ฐ/Java 2022. 4. 23. 17:35
๐กProgram, Process, Thread๋? ํ๋ก๊ทธ๋จ(Program)์ด๋, ํ์ผ์ด ์ ์ฅ ์ฅ์น์ ์ ์ฅ๋์ด ์์ง๋ง ๋ฉ๋ชจ๋ฆฌ์๋ ์ฌ๋ผ๊ฐ ์์ง ์์ ์ ์ ์ธ ์ํ๋ฅผ ๋งํ๋ค. - ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ์์ง ์์: ์์ง ์ด์์ฒด์ ๊ฐ ํ๋ก๊ทธ๋จ์๊ฒ ๋ ๋ฆฝ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋นํด์ฃผ์ง ์์๋ค๋ ๋ป์ด๋ค. ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ์ด์์ฒด์ ๊ฐ ์คํ๋๊ธฐ ์ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋นํด ์ค์ผ ์คํ๋ ์ ์๋ค. - ์ ์ ์ธ ์ํ: ์ ์ (้็)์ด๋ผ๋ ๋จ์ด ๊ทธ๋๋ก, ์์ง์ด์ง ์๋ ์ํ๋ผ๋ ๋ป์ด๋ค. ํ ๋ง๋๋ก ์์ง ์คํ๋์ง ์๊ณ ๊ฐ๋งํ ์๋ค๋ ๋ป์ด๋ค. ์ฆ, ํ๋ก๊ทธ๋จ(Program)์ด๋ผ๋ ๋จ์ด๋ ์์ง ์คํ๋์ง ์์ ํ์ผ ๊ทธ ์์ฒด, ์ฝ๋ ๋ฉ์ด๋ฆฌ๋ฅผ ๊ฐ๋ฆฌํค๋ ๋ง์ด๋ค. ์๋ฅผ ๋ค๋ฉด, ์๋์ฐ์ *.exe ํ์ผ์ด๋ MacOS์ *.dmg ํ์ผ ๋ฑ๋ฑ ์ฌ์ฉ์๊ฐ ๋๋ฌ์ ์คํํ๊ธฐ..
-
[Thread] Thread๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ - Runnable ์ธํฐํ์ด์ค์ Thread ํด๋์ค์ ์ฐจ์ด๊ฐ๋ฐ/Java 2022. 4. 13. 17:15
์๋ ํ์ธ์๐ฟ๏ธ ์ค๋์ ์ฐ๋ ๋์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์ด์ผ๊ธฐ๋ฅผ ๋๋ ๋ณผ๊น ํฉ๋๋ค. ์ฐ๋ ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ํฌ๊ฒ ๋๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ํ๋๋ Runnable ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๊ณ , ๋ค๋ฅธ ํ๋๋ Thread ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ์ฌ์ค Thread ํด๋์ค๋ Runnable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค์ด๋ฏ๋ก, ์ด๋ค ๊ฒ์ ์ ์ฉํ๋๋์ ์ฐจ์ด๋ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ค java.lang ํจํค์ง์ ์์ด์, ์ฌ์ฉํ ๋์ ๋ณ๋๋ก import๋ ํ์ ์์ต๋๋ค. Runnable ์ธํฐํ์ด์ค์ ์ ์ธ๋์ด ์๋ ๋ฉ์๋๋ ๋จ์ง ํ๋ ์ธ๋ฐ์, ๊ทธ๊ฒ์ void ํ์ ์ run() ๋ฉ์๋ ์ ๋๋ค. ์ด๊ฒ์ ์ฐ๋ ๋๊ฐ ์์๋๋ฉด ์ํ๋๋ ๋ฉ์๋์ ๋๋ค. ๋ฐ๋ฉด์, Thread ํด๋์ค๋ ๋งค์ฐ ๋ง์ ์์ฑ์์ ๋ฉ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. (์ด ๋ถ๋ถ์ ๋์ค์ ๋ฐ..