πŸ” λ‚΄κ°€ 배운 λ‚΄μš© μš”μ•½


  1. μ“°λ ˆλ“œλŠ” ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œ λ…λ¦½μ μœΌλ‘œ μ‹€ν–‰λ˜λŠ” μž‘μ—… λ‹¨μœ„
  2. μžλ°”μ—μ„œλŠ” Thread 클래슀λ₯Ό μƒμ†ν•˜κ±°λ‚˜, Runnable μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•΄μ„œ 생성
  3. start(), run(), sleep(), join() λ“±μ˜ λ©”μ„œλ“œλ‘œ μ“°λ ˆλ“œ μ œμ–΄ κ°€λŠ₯
  4. λ©€ν‹°μ“°λ ˆλ“œλŠ” λΉ λ₯΄μ§€λ§Œ, 동기화 λ¬Έμ œκ°€ 생길 수 있음

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

ꡬ뢄 μ„€λͺ…
ν”„λ‘œμ„ΈμŠ€ μ‹€ν–‰ 쀑인 ν”„λ‘œκ·Έλž¨
μ“°λ ˆλ“œ ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œ μ‹€ν–‰ 흐름 λ‹¨μœ„ (ν•œ ν”„λ‘œμ„ΈμŠ€ μ•ˆμ— μ—¬λŸ¬ μ“°λ ˆλ“œ 쑴재 κ°€λŠ₯)
λ©€ν‹°μ“°λ ˆλ”© μ—¬λŸ¬ μ“°λ ˆλ“œκ°€ λ™μ‹œμ— μ‹€ν–‰λ˜λ„λ‘ μ²˜λ¦¬ν•˜λŠ” 방식

βœ… μ“°λ ˆλ“œ 생성 방법


1. Thread 클래슀 상속

Java

class MyThread extends Thread {
    public void run() {
        System.out.println("Thread μ‹€ν–‰ 쀑!");
    }
}

MyThread t = new MyThread();
t.start();  // run() μ•„λ‹˜!!

2. Runnable μΈν„°νŽ˜μ΄μŠ€ κ΅¬ν˜„ (πŸ’‘ μΆ”μ²œ 방식)

Java

class MyRunnable implements Runnable {
    public void run() {
        System.out.println("Runnable μ‹€ν–‰ 쀑!");
    }
}

Thread t = new Thread(new MyRunnable());
t.start();