๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

thread2

[pthread] Thread ์‹ค์Šต (์šด์˜์ฒด์ œ๐Ÿฆ– ๊ฐ•์˜-Chpater4. Thread & Cocurrency) 1. Thread์˜ ๊ฐœ๋…Thread์˜ ์ข…๋ฅ˜Thread๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.User Thread: ์ปค๋„์˜ ์ง์ ‘์ ์ธ ์ง€์› ์—†์ด ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค.Kernel Thread: ์ปค๋„์ด ์ง์ ‘ ๊ด€๋ฆฌํ•˜๋Š” ์“ฐ๋ ˆ๋“œ์ž…๋‹ˆ๋‹ค.User Thread์™€ Kernel Thread ๊ฐ„์˜ ๊ด€๊ณ„ ๋ชจ๋ธMany-to-One Model: ์—ฌ๋Ÿฌ ๊ฐœ์˜ user thread๊ฐ€ ํ•˜๋‚˜์˜ kernel thread์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.One-to-One Model: ๊ฐ๊ฐ์˜ user thread๊ฐ€ ํ•˜๋‚˜์˜ kernel thread์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.Many-to-Many Model: ์—ฌ๋Ÿฌ ๊ฐœ์˜ user thread๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ kernel thread์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค. 2. Thread ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌThread ์ƒ์„ฑ๊ณผ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, ๋Œ€ํ‘œ์ ์ธ .. 2025. 2. 28.
[java] Thread ์‹ค์Šต (์šด์˜์ฒด์ œ๐Ÿฆ– ๊ฐ•์˜-Chpater4. Thread & Cocurrency) 1. Thread๋ž€?์šด์˜์ฒด์ œ์—์„œ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค(process)๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์“ฐ๋ ˆ๋“œ(thread)๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ์“ฐ๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰ ํ๋ฆ„์„ ์˜๋ฏธํ•˜๋ฉฐ, ํ”„๋กœ์„ธ์Šค์˜ ์ž์›์„ ๊ณต์œ ํ•˜๋ฉด์„œ๋„ ๋…๋ฆฝ์ ์ธ ์‹คํ–‰ ํ๋ฆ„์„ ๊ฐ€์ง„๋‹ค. ์ฆ‰, ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.1.1. ํ”„๋กœ์„ธ์Šค์™€ ์“ฐ๋ ˆ๋“œ์˜ ์ฐจ์ดํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์˜ ์ธ์Šคํ„ด์Šค๋กœ, ๋…๋ฆฝ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„(Code, Data, Heap, Stack ๋“ฑ)์„ ๊ฐ€์ง„๋‹ค.์“ฐ๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ์ž‘์€ ๋‹จ์œ„๋กœ, ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค ๋‚ด์˜ ๋‹ค๋ฅธ ์“ฐ๋ ˆ๋“œ๋“ค๊ณผ Code, Data, Heap, File ๋“ฑ์˜ ์ž์›์„ ๊ณต์œ ํ•˜์ง€๋งŒ, ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ(PC), ๋ ˆ์ง€์Šคํ„ฐ, ์Šคํƒ(Stack)์€ ๊ฐœ๋ณ„์ ์œผ๋กœ ๊ด€๋ฆฌ๋œ๋‹ค.๋”ฐ๋ผ์„œ ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ (IPC.. 2025. 2. 23.