λκΈ°ν(Synchronization) : SWμͺ½μμλ νλ‘κ·Έλ¨μ΄ μμλλ‘ μ°¨λ‘μ°¨λ‘ μ€νλλ κ²
λκΈ°νλ₯Ό μ¬μ©νλ©΄ μμ λ€μ΄ μλ‘μ μνμ μν₯μ μ£Όμ§ μκ³ μμλλ‘ μ€νλ μ μλ€. μ΄λ₯Ό ν΅ν΄ μ¬λ¬ μ€λ λκ° λμμ μ κ·Όνλ κ²μ λ°©μ§νκ³ , λ°μ΄ν°μ μΌκ΄μ±μ μ μ§ν μ μλ€. λκΈ°νλ μμ μ μλ£λ₯Ό κΈ°λ€λ¦¬λ λμ λ€λ₯Έ μμ μ μ€λ¨μν€κ±°λ λκΈ°μν€λ κ²½μ°κ° λ§λ€.
λΉλκΈ°ν(Asynchronization) : SWμͺ½μμλ κ°κ°μ νλ‘κ·Έλ¨μ΄ μμμ μκ΄μμ΄ μ€νλλ κ²
λΉλκΈ°νλ₯Ό μ¬μ©νλ©΄ μμ λ€μ΄ λ 립μ μΌλ‘ μ€νλλ©°, ν μμ μ μλ£ μ¬λΆλ₯Ό κΈ°λ€λ¦¬μ§ μκ³ λ€μ μμ μ μ€νν μ μλ€. μ΄λ₯Ό ν΅ν΄ μμ λ€μ λ³λ ¬ μ²λ¦¬μ λμμ±μ λμΌ μ μλ€. λΉλκΈ°νλ μμ μ μλ£ μ¬λΆλ₯Ό νμΈνκΈ° μν΄ μ½λ°±(Callback)μ΄λ νλ‘λ―Έμ€(Promise)μ κ°μ λ°©λ²μ μ¬μ©νλλ°, μ΄λ₯Ό ν΅ν΄ μμ μ΄ μλ£λλ©΄ 미리 λ±λ‘λ μ½λ°± ν¨μκ° νΈμΆλκ±°λ κ²°κ³Όλ₯Ό λ°νν μ μλ€.
μλ μμλ λΉλκΈ° μ²λ¦¬μ λκΈ° μ²λ¦¬λ₯Ό 보μ¬μ€λ€.
//μλλ‘μ΄λ λ±μμ λ§μ΄ μ°λ λ°©λ²
public class ThreadExample03 {
public static void main(String[] args) {
new Thread(new Runnable() { //λΉλκΈ° μ²λ¦¬ λΆλΆ
@Override
public void run() {
for(int i=0; i<10; i++)
try{
Thread.sleep(1000); //μ€ν μκ° μ§μ°, λ°λ¦¬s λ¨μ
System.out.println("Hello World");
} catch(Exception e) {
e.printStackTrace();// νλ©΄μ μλ¬ μΆλ ₯
} //μ§μ°μκ° -> 1μ΄
}//run end
}).start(); //thread end
for (int i = 0; i<10; i++) { //λκΈ° μ²λ¦¬ λΆλΆ
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Hello Java");
}
for (int i = 0; i<10; i++) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Hello everyone");
}
}//main end
}//class end
console
Hello Java
Hello World
Hello World
Hello Java
Hello World
Hello Java
Hello World
Hello Java
Hello World
Hello Java
Hello World
Hello Java
Hello World
Hello Java
Hello World
Hello Java
Hello World
Hello Java
Hello World
Hello Java
Hello everyone
Hello everyone
Hello everyone
Hello everyone
Hello everyone
Hello everyone
Hello everyone
Hello everyone
Hello everyone
Hello everyone
Hello Worldλ λΉλκΈ°μ μΌλ‘ μ²λ¦¬λμλ€. μμμ 보λ€μνΌ Hello Worldλ μμμ κ΄κ³ μμ΄ μ€κ°μ€κ° μ²λ¦¬λ κ²μ λ³Ό μ μλ€.
Hello Javaμ Hello everyoneμ λκΈ°μ μΌλ‘ μ²λ¦¬λμκΈ° λλ¬Έμ Hello Javaκ° 10λ² μ€νλ νμ Hello everyoneμ΄ 10λ² μ€νλμλ€.
'π₯οΈ > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] μ κ·Όμ νμμ public static void λ» (0) | 2023.04.06 |
---|---|
[Java] Garbageμ Garbage Collection μ΄ν΄νκΈ° (0) | 2023.04.06 |
[Java] Generic κΈ°λ² (0) | 2023.03.22 |
[Java] try ~ catch ~finally μμΈμ²λ¦¬ (0) | 2023.03.22 |
[Java] κ°μ²΄ μ§ν₯ μΈμ΄(OOP)μ νΉμ±: μ½λλ‘ λ³΄λ μΊ‘μν, μμμ±, λ€νμ±, μΆμν (0) | 2023.03.22 |