multi thread 2

[JAVA] JAVA Thread(์Šค๋ ˆ๋“œ) ์‚ฌ์šฉ๋ฒ• & ์˜ˆ์ œ

Thread๋ž€? ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค ๋‚ด๋ถ€์—์„œ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ํ•˜๋‚˜์˜ ์ž‘์—… ๋‹จ์œ„ ์šด์˜์ฒด์ œ์— ์˜ํ•ด ๊ด€๋ฆฌ๋˜๋Š” ํ•˜๋‚˜์˜ ์ž‘์—…(Task) Thread = Task(์ž‘์—…) JVM์— ์˜ํ•ด ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  main() ์•ˆ์˜ ์‹คํ–‰๋ฌธ๋“ค์ด ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ main() ์ด์™ธ์˜ ๋˜ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด Thread ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜๊ฑฐ๋‚˜ Runnable ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ์ž‘์—… ์‹œ, ๊ฐ ์Šค๋ ˆ๋“œ๋ผ๋ฆฌ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด ์ฒ˜๋ฆฌ ๊ณผ์ •์˜ ์˜ค๋ฅ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Œ ํ”„๋กœ์„ธ์Šค๋ผ๋ฆฌ๋Š” ์ •๋ณด ๊ตํ™˜ ๋ถˆ๊ฐ€๋Šฅ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ(Multi Thread)๋ž€? ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๋ฅผ ๋™์‹œ์— ์‹คํ–‰์‹œํ‚ค๋Š” ์‘์šฉํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋Š” ๊ธฐ๋ฒ• ์žฅ์  ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ ๋กœ ์ธํ•œ ์‹œ์Šคํ…œ ์ž์› ์†Œ๋ชจ ์ค„์–ด๋“ฌ ๋™์‹œ ์ž‘์—…์ด ๊ฐ€๋Šฅ ๋‹จ์  ์ž์›์„ ๊ณต์œ ํ•˜๊ธฐ์— ์ถฉ๋Œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ ์กด์žฌ ๋กœ์ง์˜ ๋ณต์žก๋„..

[OS] ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ(Multi Thread) vs ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค(Multi Process)

๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ (Multi Threading) ๋ณดํ†ต ์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋˜, ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋Š” ๋ณดํ†ต ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ํŒŒ์ด์ฌ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. HTML ์‚ฝ์ž… ๋ฏธ๋ฆฌ๋ณด๊ธฐํ•  ์ˆ˜ ์—†๋Š” ์†Œ์Šค ์‹คํ–‰ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. process_id : 25939 thread_id : 4539137536 ์ด๋ ‡๊ฒŒ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค์—์„œ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ "์‹ฑ๊ธ€ ์Šค๋ ˆ๋”ฉ"์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ฝ”๋“œ๋“ค์€ ์ด๋ ‡๊ฒŒ ์‹ฑ๊ธ€ ์Šค๋ ˆ๋”ฉ์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. HTML ์‚ฝ์ž… ๋ฏธ๋ฆฌ๋ณด๊ธฐํ•  ์ˆ˜ ์—†๋Š” ์†Œ์Šค ์‹คํ–‰ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. # ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค process_id : 27180..

Computer Science/OS 2022.08.14
๋ฐ˜์‘ํ˜•