1. μ©μ΄μ 리
(1) νλ‘κ·Έλ¨μ΄λ?
νΉμ μμ μ μννκΈ° μν΄ λ§λ€μ΄μ§ κΈ°κ³. (κ°λ μνλ μν, μ£½μ μν)
(2) νλ‘μΈμλ?
μλνλ μνμ νλ‘κ·Έλ¨μ μΌμ»«λ λ§ (κ°λ μ€μΈ μν, μ΄μμλ μν)
(3) μ°λ λλ?
νλ‘μΈμλ₯Ό μλμν€κ³ μλ λ μμΌλ‘, νΉμ μμ μ μνμ€ (κΈ°κ³λ₯Ό λλ¦¬κ³ μλ μΈλΆ)
(4) νλ‘μΈμ€λ?
νλ‘κ·Έλ¨μ΄ λ€μ΄μ μμ μ μ²λ¦¬νλ 곡κ°.
λ³΄ν΅ μ€μ μνλ©΄, νλμ νλ‘μΈμ€μ νλμ μ°λ λλ§ μ‘΄μ¬νλ€.
νλ‘μΈμ€μ μ¬λ¬ κ°μ μ°λ λλ₯Ό λλ €μ νλ‘κ·Έλ¨λ€μ΄ λ³λ ¬ μ²λ¦¬ λλλ‘ ν μ μλ€.
(νμ§λ§ μ΄κ² μ§μ§λ‘ μΌμ΄ λμμ μ§νλλ κ²μ΄ μλλΌ, λ κ°μ§ μΌμ΄ μμ°¨μ μΌλ‘ μ²λ¦¬λκ³ μμ§λ§, κ·Έ λμ΄ μ€μμΉ νλ κ² λλ Έλ―Έν° μ΄λ‘ μ΄λ£¨μ΄μ Έμ, μ¬λλ€ λμλ κ·Έκ² λ³λ ¬ μ²λ¦¬ νλ κ²μ²λΌ 보μ΄λ κ²μ΄λ€.)
2. μ½λ 리뷰
(1) μ°λ λ νΌμ μΌ μ²λ¦¬
public class _01_Thread {
public static void main(String[] args) {
cleanBySelf();
}
public static void cleanBySelf() {
System.out.println("--νΌμ μ²μ μμ--");
for (int i = 1; i <= 10; i+=2) {
System.out.println("(νΌμ) " + i + "λ²λ°© μ²μ μ€");
}
System.out.println("-- νΌμ μ²μ λ--");
}
// (νΌμ) 1λ²λ°© μ²μ μ€
// (νΌμ) 2λ²λ°© μ²μ μ€
// (νΌμ) 3λ²λ°© μ²μ μ€
// (νΌμ) 4λ²λ°© μ²μ μ€
// (νΌμ) 5λ²λ°© μ²μ μ€
// (νΌμ) 6λ²λ°© μ²μ μ€
// (νΌμ) 7λ²λ°© μ²μ μ€
// (νΌμ) 8λ²λ°© μ²μ μ€
// (νΌμ) 9λ²λ°© μ²μ μ€
// (νΌμ) 10λ²λ°© μ²μ μ€
// -- μ²μ λ--
νΌμ μ²μνκΈ° μ«λ€. μ§μμ κ³ μ©ν΄μ λμμ μ²μ 빨리 λλ΄κ³ μΆλ€.
(2) μ΄κ² λ³λ ¬ μ²λ¦¬..?
// 1. μ°λ λ μμ±
// 2. μ°λ λμ λ³λ ¬μ²λ¦¬ κΈ°λ₯μ νμ©νλ €λ©΄, ν΄λμ€κ° Threadλ₯Ό μμνκ³ μμ΄μΌ νλ€.
public class CleanThread extends Thread {
public void run() {
System.out.println("--μ§μ μ²μ μμ(Thread)--");
for (int i = 2; i <= 10; i+=2) {
System.out.println("(μ§μ) (Thread) " + i + "λ²λ°© μ²μ μ€");
}
System.out.println("--μ§μ μ²μ λ(Thread)--");
}
}
public class _01_Thread {
public static void main(String[] args) {
CleanThread cleanThread = new CleanThread();
// μ§μ μ²μ -> κ·Όλ° μ΄κ±΄ κ·Έλ₯ μμ°¨ μνμ΄μ§, Thread λ₯Ό μ°λ λ³Έμ§μ μ΄μ μΈ λ³λ ¬μ²λ¦¬λ₯Ό νμ§ λͺ»ν¨.
cleanThread.run();
cleanByBoss(); // μ¬μ₯λμ΄ μ²μνλ κ²
}
public static void cleanByBoss() {
System.out.println("--μ¬μ₯ μ²μ μμ--");
for (int i = 1; i <= 10; i+=2) {
System.out.println("(μ¬μ₯) " + i + "λ²λ°© μ²μ μ€");
}
System.out.println("-- μ¬μ₯ μ²μ λ--");
}
}
(3) μ§μ§ λ³λ ¬ μ²λ¦¬
public class _01_Thread {
public static void main(String[] args) {
CleanThread cleanThread = new CleanThread();
//λΆλͺ¨ ν΄λμ€μΈ Threadμ 맀μλμΈ start μ°λ©΄ λ³λ ¬μ²λ¦¬κ° κ°λλ¨.
cleanThread.start();
cleanByBoss(); // μ¬μ₯λμ΄ μ²μνλ κ²
}
public static void cleanByBoss() {
System.out.println("--μ¬μ₯ μ²μ μμ--");
for (int i = 1; i <= 10; i+=2) {
System.out.println("(μ¬μ₯) " + i + "λ²λ°© μ²μ μ€");
}
System.out.println("-- μ¬μ₯ μ²μ λ--");
}
}
3. μ€μ€λ‘ ν΄λ³΄κΈ°
//Thread μμν ν΄λμ€
public class Goal extends Thread {
public void run(){
for (int i = 0; i < 10; i++) {
System.out.println((i+1)+"λ²μ§Έ 골!!!!");
}
System.out.println("κ²½κΈ° λ.");
}
}
package WorkOut_Myself;
import WorkOut_Myself.Goal.Goal;
public class Thread_myself {
public static void main(String[] args) {
Goal G = new Goal();
G.start();
shoot();
}
public static void shoot () {
for (int i = 0; i < 10; i++) {
System.out.println((i+1)+"λ² μ§Έ μ!!!!");
}
System.out.println("-------------κ²½κΈ° λ!------------");
}
}
** μ€μ€λ‘ νλ©΄μ μμλΈ κ²**
(1)Threadλ₯Ό μμν ν΄λμ€μμ λ³λ ¬ μ²λ¦¬ νκ³ μΆμ 맀μλλ μ΄λ¦μ΄ runμ΄μ΄μΌ νλ€.
κ·ΈλμΌμ§ κ°μ²΄.start(); νμ λ ν΄λΉ 맀μλκ° μλ νΈμΆλκ³ λ³λ ¬λ‘ μΌμ νλ€.
(2)λ³λ ¬ μ²λ¦¬νκ³ μΆμ 맀μλκ° Threadκ°μ²΄.start(); λ°μ μμ΄μΌ νλ€.
λ§μ½ λ³λ ¬μ²λ¦¬νκ³ μΆμ λ μμ΄ Threadκ°μ²΄.start(); μμ μμΌλ©΄ λ³λ ¬μ²λ¦¬κ° μλλ€.
Goal G = new Goal();
shoot();
G.start();