Thread (μ“°λ ˆλ“œ)λž€?

2022. 1. 20. 10:14ㆍJAVA

728x90

 

1️⃣ Thread μ“°λ ˆλ“œλž€? 

μš°μ„  ν”„λ‘œμ„ΈμŠ€λž€ λ™μž‘ν•˜κ³  μžˆλŠ” ν”„λ‘œκ·Έλž¨ 즉 싀행쀑인 ν”„λ‘œκ·Έλž¨μ΄λ‹€. 

보톡 ν•œκ°œμ˜ ν”„λ‘œμ„ΈμŠ€λŠ” ν•œ κ°€μ§€μ˜ 일을 ν•˜μ§€λ§Œ μ“°λ ˆλ“œλ₯Ό μ‚¬μš©ν•˜λ©΄ ν•œ ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œ 두가지 λ˜λŠ” κ·Έ μ΄μƒμ˜ 일을 λ™μ‹œμ— ν•  수 μžˆλ‹€. 

각각의 ν”„λ‘œμ„ΈμŠ€λŠ” 싀행될 λ•ŒλΆ€ν„° μ’…λ£Œλ  λ•ŒκΉŒμ§€ μ΅œμ†Œ 1개 μ΄μƒμ˜ μ“°λ ˆλ“œλ₯Ό 가지고 μžˆλ‹€. 

 

κ·Έλž˜μ„œ μ“°λ ˆλ“œλž€? 

μ“°λ ˆλ“œλŠ” ν”„λ‘œμ„ΈμŠ€λ³΄λ‹€ 더 μž‘μ€ μž‘μ—… λ‹¨μœ„λ‘œ κ²½λŸ‰ ν”„λ‘œμ„ΈμŠ€λΌκ³ λ„ ν•œλ‹€. 즉 ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€μ—μ„œ λ…λ¦½μ μœΌλ‘œ μ‹€ν–‰ν•˜λŠ” ν•˜λ‚˜μ˜ 일 λ˜λŠ” μž‘μ—…μ˜ λ‹¨μœ„λ₯Ό λ§ν•œλ‹€. 

이제 이 μ“°λ ˆλ“œλ₯Ό μ—¬λŸ¬κ°œ μ‚¬μš©ν•˜λ©΄ λ™μ‹œμ— μ—¬λŸ¬ μž‘μ—…μ„ ν•  수 있게 λœλ‹€!

 

 

μžλ°”μ—μ„œλŠ” ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜κΈ° μœ„ν•΄ Main ThreadλŠ” main() λ©”μ„œλ“œλ₯Ό μ‹€ν–‰ν•œλ‹€. 

즉 μš°λ¦¬κ°€ 맨날 λ³΄λŠ” public static void main이 메인 μ“°λ ˆλ“œμ˜ μ‹œμž‘μ μ΄λ‹€. 

 

 

2️⃣ μ“°λ ˆλ“œ μ‚¬μš© 이점 

- λ™μ‹œμ„± 

: μ“°λ ˆλ“œλ₯Ό μ‚¬μš©ν•˜λ©΄ μ—¬λŸ¬κ°€μ§€ λ™μ‹œμ— 일을 ν•  수 있기 λ•Œλ¬Έμ— μž‘μ—…μ˜ νš¨μœ¨μ„±μ΄ 높아진닀. 

 

- λ©”λͺ¨λ¦¬ 곡유 

: μ“°λ ˆλ“œλΌλ¦¬ λ©”λͺ¨λ¦¬λ₯Ό κ³΅μœ ν•˜κΈ° λ•Œλ¬Έμ— λ©”λͺ¨λ¦¬κ°€ μ ˆμ•½λ˜λŠ” μž₯점이 μžˆλ‹€. 

 

 

3️⃣ μžλ°” μ“°λ ˆλ“œ μ‚¬μš© 

Runnable μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•œ 클래슀λ₯Ό Thread μƒμ„±μžλ‘œ μ£Όμž…ν•˜μ—¬ μ‹€ν–‰ν•˜λŠ” 방법이닀. 

new λ₯Ό 톡해 Thread 클래슀 객체λ₯Ό μƒμ„±ν•œ 후에 start λ©”μ„œλ“œλ₯Ό 톡해 μŠ€λ ˆλ“œμ—μ„œ ν•  μž‘μ—…μ„ ν• λ‹Ήν•΄μ£Όμ—ˆλ‹€. 

Thread객체λ₯Ό 생성할 λ•ŒλŠ” Runnable μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•œ 클래슀 객체λ₯Ό λ§€κ°œλ³€μˆ˜λ‘œ λ°›λŠ”λ‹€. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90