μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- λ°©μ΄μ 볡μ¬
- ERD
- java
- index
- RDBMS
- λΆλ³κ°μ²΄
- forwardνλ‘μ
- μΈλ±μ€
- acid
- proxy
- μ κ·ν
- λ°μ΄ν°λ² μ΄μ€
- immutable
- μλ£κ΅¬μ‘°
- NoSQL
- mutable
- μμ볡μ¬
- transaction
- μ΄μ§νμ
- Database
- κΉμ볡μ¬
- μ‘°μΈ
- μκ³ λ¦¬μ¦
- νλ‘μμλ²
- binarySearch
- reverseνλ‘μ
- Today
- Total
jacketList
[Java] λκΈ°(Synchronous)μ λΉλκΈ°(Asynchronous) λ³Έλ¬Έ
π§ λκΈ°(Synchronous)λ?
μ¬μ μ μλ―Έλ‘ λμμ±μ, λμμ λΌλ λ»μΌλ‘ λ§ κ·Έλλ‘ λμμ μΌμ΄λλ€λ λ»μ΄λ€.
κ·Έλ¦Όκ³Ό κ°μ΄ μ½μΌν°κ° μλ€κ³ κ°μ μ νλ€λ©΄ λκΈ°μ μΌμ²λ¦¬λ κ³ κ°1μκ² μ νκ° μ€λ©΄ μλλ₯Ό ν΄ μ²λ¦¬λ₯Ό ν΄μ€ λμ κ³ κ°2, κ³ κ°3μ λκΈ°νκ³ μλ€. μ΄ν κ³ κ°1μ μλκ° λλλ©΄ κ³ κ°2 -> κ³ κ°3μ μμΌλ‘ μ²λ¦¬νλ λ°©μμ΄λ€.
μ΄μκ°μ λκΈ° λ°©μμ νΉμ§μ λ€μκ³Ό κ°λ€.
- μμ²μ 보λ΄κ³ μ€νμ΄ λλλ©΄ λ€μ λμμ μ²λ¦¬νλ λ°©μμΌλ‘ μμμ λ§μΆ° μ§νλκΈ° λλ¬Έμ μ μ΄κ° μ½λ€.
- μ¬λ¬κ°μ§ μμ²μ λμμ μ²λ¦¬ν μ μμ΄ ν¨μ¨μ΄ λ¨μ΄μ§λ€.
μλλ λκΈ°μμΌλ‘ λμνλ μ½λμ΄λ€.
package Synchro_Asynchro;
public class Synchro {
public static void main(String[] args) {
method1();
method2();
method3();
}
public static void method1() {
System.out.println("method1");
}
public static void method2() {
System.out.println("method2");
}
public static void method3() {
System.out.println("method3");
}
}
μμ μ κ²°κ³Όλ μμ°¨μ μΌλ‘ 1 -> 2 -> 3μ΄ λλ€
π§ λΉλκΈ°(Asynchronous)λ?
μ¬μ μ μλ―Έλ‘ λΉλμμ±μ λΌλ λ»μΌλ‘ λ§ κ·Έλλ‘ λμμ μΌμ΄λμ§ μλ κ²μ μλ―Ένλ€.
λΉλκΈ° λ°©μμ μ°λ¦¬μ μΌμμν μμμλ μ°Ύμλ³Ό μ μλλ° μλ₯Όλ€μ΄ μΉ΄μΉ΄μ€ν‘μ ν΅ν΄ A -> Bμκ² λ©μμ§λ₯Ό 보λλ€κ³ κ°μ ν΄λ³΄μ. Aλ Bμκ² λ΅μ₯μ΄ μ¬ λ λμ κΈ°λ€λ¦¬μ§ μμλ Cμκ² λ°λ‘ λ©μμ§λ₯Ό λ³΄λΌ μ μλ€. μ΄μ²λΌ λΉλκΈ° λ°©μμ μμ μ΄ λμμ μΌμ΄λμ§ μκ³ μμ μ²λ¦¬κΈ°κ°μ΄ μΌμΉνμ§ μμλ λκ³ , μλ΅μ κΈ°λ€λ¦¬μ§ μκ³ λ€λ₯Έ μμ μ μ²λ¦¬ν μ μλ€.
λΉλκΈ°λ μλμ κ°μ νΉμ§μ κ°λλ€
- μμ²μ 보λ΄κ³ ν΄λΉ λμμ μ²λ¦¬ μ¬λΆμ μκ΄μμ΄ λ€μ μμ²μ΄ λμνλ λ°©μμΌλ‘ μμμ ν¨μ¨μ μΌλ‘ μ¬μ©ν μ μλ€.
- λκΈ°λ³΄λ€ μ€κ³κ° 볡μ‘νλ€.
μλλ λΉλκΈ°μμΌλ‘ λμνλ μλ° μ½λμ΄λ€.
package Synchro_Asynchro;
public class Asynchro {
public static void main(String[] args) {
Thread t = new Thread(()->{
method1();
});
Thread t2 = new Thread(()->{
method2();
});
Thread t3 = new Thread(()->{
method3();
});
t.start();
t2.start();
t3.start();
}
public static void method1() {
System.out.println("method1");
}
public static void method2() {
System.out.println("method2");
}
public static void method3() {
System.out.println("method3");
}
}
μλ°μμλ κΈ°λ³Έμ μΌλ‘ Multi Threadμ λμμ΄ λΉλκΈ°μμΌλ‘ μλνλ€.
μ½λλ₯Ό 보면 κ° Threadκ°μ²΄μ λ©μλλ₯Ό λ΄μ startλ©μλλ₯Ό μνμν¨λ€.
λκΈ°μμ κ²½μ°μλ€λ©΄ method1 -> method2 -> method3 μ μμλλ‘ μμ°¨ μ€νμ΄ λμμ ν μ§λ§
μμκ°μ κ²°κ³Όκ° λμ¨λ€. νμ μ΄λ°μμΌλ‘ μμκ° λμ€λ κ²μ΄ μλλΌ μ€νν λλ§λ€ μμκ° κ³μ λ°λλ€. μ¦ μ²λ¦¬ μμλ 보μ₯μ΄ μλλ€λ κ²μ μλ―Ένλ€.
κ°λ¨νκ²λ§ μ 리ν κ²μ΄κΈ° λλ¬Έμ μΆνμ μΆκ°μ μΌλ‘ λ μμΈν μ μ΄λ΄μΌκ² λ€..
references
'Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] μμ(Inheritance) (1) | 2024.04.13 |
---|---|
[Java] ν΄λμ€(Class) - λ°±κΈ°μ λΌμ΄λΈ μ€ν°λ (0) | 2024.04.10 |
[Java] μ λ€λ¦(Generic) (1) | 2023.12.11 |
[Java] mutableκ³Ό Immutable (2) | 2023.12.06 |
[JAVA]JVM λ©λͺ¨λ¦¬ ꡬ쑰 (0) | 2023.12.03 |