Im No Dummy
λ‘κ·ΈμΈ
Im No Dummy
λ‘κ·ΈμΈ
12μ 2μΌ TIL
μλ€λ€
Β·
2022λ 12μ 2μΌ
νλ‘μ°
1
TIL
π‘ μ€λ λ
λͺ λ Ήμ΄κ° CPUλ₯Ό ν΅ν΄μ μνλλ κ°μ²΄μ λ¨μμ
νλμ νλ‘μΈμ€ μμλ λ°λμ 1κ° μ΄μμ μ€λ λκ° μ‘΄μ¬νκ³ μ΄λ° μ€λ λλ κ°μ νλ‘μΈμ€μ μλ μμκ³Ό μνλ₯Ό 곡μ ν¨
κ°μ νλ‘μΈμ€ λ΄μ μλ μ€λ λλ κ°μ μ£Όμ곡κ°μ μ‘΄μ¬νκ²λκ³ λμΌν λ°μ΄ν°μ μ κ·Όμ΄ κ°λ₯ν¨
νλμ μ€λ λκ° μμ ν λ©λͺ¨λ¦¬λ κ°μ λ©λͺ¨λ¦¬λ₯Ό μ°Έμ‘°νλ μ€λ λμ μν₯μ λ―ΈμΉκ²λ¨
μ€λ λλ μ νμν΄?
μ€λ λλ νλμ νλ‘μΈμ€ μμμ μ¬λ¬κ°μ 루ν΄μ λμμ μνν΄μ μνλ₯λ ₯μ ν₯μνλ €κ³ ν λ μ¬μ©νκ² λλλ° λ 립μ μνμΌλ‘ μ²λ¦¬νλ €κ³ ν λ μ¬μ©λ¨
μ¦ μ¬λ¬κ° μμ λ¨μλ‘ κ΅¬μ±λ νλ‘κ·Έλ¨μμ μμ²μ λμμ μ²λ¦¬νκΈ° μν΄ μ¬μ©λ¨
μ€λ λμ ꡬμ±μμ
κ°μ CPU: μΈν°ν리ν°, μ»΄νμΌλ¬μ μν΄ λ΄λΆμ μΌλ‘ μ²λ¦¬λλ κ°μμ½λ
μνμ½λ : Thread Classμ ꡬνλμ΄μλ run() Methodμ
μ²λ¦¬λ°μ΄ν°: Threadμμ μ²λ¦¬λλ λ°μ΄ν°
μ€λ λμ νΉμ§
νλ‘μΈμ€ λ΄μμ μ€νλλ νλ¦μ λ¨μ
κ° μ€λ λλ§λ€ call stackμ΄ μ‘΄μ¬νκ³ λλ¨Έμ§ Code, Data, Heap μμμ μ€λ λλΌλ¦¬ 곡μ ν¨
νλ‘μΈμ€λ λ€λ₯Έ νλ‘μΈμ€μ λ©λͺ¨λ¦¬μ μ§μ μ κ·Ό ν μ μμ
μ€λ λλ λ€λ₯Έ μ€λ λμ λ 립μ μΈ λμμν¨
λκ°μ΄μ μ€νλλ©΄ μ€λ λμ μ€νκ³Ό μ’ λ£μμλ μμΈ‘μ΄ λΆκ°ν¨
π‘ μ±κΈ μ€λ λμ λ©ν° μ€λ λ
μ±κΈ μ€λ λ
νλ‘μΈμ€κ° λ¨μΌ μ€λ λλ‘ λμνλ λ°©μμ
μΌλ ¨μ μ²λ¦¬λ₯Ό λ¨μΌ μ€λ λλ§μΌλ‘ μ§λ ¬ μ²λ¦¬νλ νλ‘κ·Έλλ° λ°©λ²μ
νλμ λ μ§μ€ν°, μ€νμΌλ‘ ννν¨ ( μλ°μ€ν¬λ¦½νΈκ° λνμ μΈ μ±κΈμ€λ λ μΈμ΄μ )
μ±κΈμ€λ λμ μ₯μ
μμ μ κ·Όμ λν λκΈ°νλ₯Ό μ κ²½μ°μ§ μμλ λ¨
μμ μ κ·Όμ λν λκΈ°νλ₯Ό μ κ²½μ°μ§ μμλ λκΈ° λλ¬Έμ λ¬Έλ§₯κ΅ν μμ λν μꡬνμ§ μμ
μ¬λ¬κ°μ νλ‘μΈμ€κ° νλμ νλ‘μΈμλ₯Ό 곡μ ν λ λ°μνλ μμ μΌλ‘ λ§μ λΉμ©μ νμλ‘ν¨
νλ‘κ·Έλλ° λμ΄λκ° μ½κ³ CPU λ©λͺ¨λ¦¬λ₯Ό μ κ² μ¬μ©ν¨
μ±κΈ μ€λ λμ λ¨μ
μ¬λ¬κ°μ CPUλ₯Ό νμ©νμ§ λͺ»ν¨
νλμ 물리μ μ½μ΄λ§ μ¬μ©νκΈ° λλ¬Έμ μ½μ΄λ¨Έμ μμ CPU μ¬μ©μ μ΅μ ν ν μ μμ
μ΅μ νλ₯Ό νκΈ° μν΄μ Cluster λͺ¨λμ μ΄μ©ν΄μ μ¬λ¬ νλ‘μΈμ€λ₯Ό μ¬μ© ν μλ μμ§λ§ νλ‘μΈμ€ λΌλ¦¬μ μμ 곡μ λ μ΄λ €μ
Redisμκ°μ λΆκ° μΈνλΌκ° νμν¨
μ°μ°λμ΄ λ§μ μμ μ νλ κ²½μ°μ κ·Έ μμ μ΄ μλ£λμΌ λ€λ₯Έμμ μ μν ν μ μμ
μ±κΈμ€λ λ λͺ¨λΈμ μλ¬μ²λ¦¬λ₯Ό λͺ»νλκ²½μ°μ λ©μΆ°λ²λ¦Ό
λ©ν° μ€λ λ λͺ¨λΈμ μλ¬ λ°μμμ μλ‘μ΄ μ€λ λλ₯Ό μμ±ν΄μ κ·Ήλ³΅μ΄ κ°λ₯
λ©ν°μ€λ λ
μΌλ°μ μΌλ‘ νλμ νλ‘μΈμ€λ νλμ μ€λ λλ₯Ό κ°μ§κ³ μμ μ μννλλ°
λ©ν°μ€λ λλ λ μ΄μμ μ€λ λκ° λμμ μμ μ μννλκ±Έ μλ―Έν¨
λ©ν° νλ‘μΈμ€λ μ¬λ¬κ°μ CPUλ₯Ό μ¬μ©ν΄μ μ¬λ¬ νλ‘μΈμ€λ₯Ό λμμ μννλκ±Έ μλ―Έν¨
μμ€ν μμ νμ© κ·Ήλν λ° μ²λ¦¬λ μ¦λν μ μμ΄ λ¨μΌ νλ‘μΈμ€ μμ€ν μ ν¨μ¨μ±μ λμΌ μ μμ
λ©ν° μ€λ λ©μ μ₯μ
μμ μ λΆλ¦¬ν΄μ μννκΈ° λλ¬Έμ μ€μκ°μΌλ‘ μ¬μ©μμκ² μλ΅μ΄ κ°λ₯ν¨
ν νλ‘μΈμ€λ₯Ό μ¬λ¬ νλ‘μΈμμμ μνν μ μμμΌλ‘ ν¨μ ν¨μ¨μ μΈ
λ©ν° μ€λ λ©μ λ¬Έμ μ
μ£ΌμκΉμ μ€κ³κ° νμνκ³ λλ²κΉ μ΄ κΉλ€λ‘μ
νλ‘μΈμ€ λ°μμ μ€λ λλ₯Ό κ°κ°μ μ μ΄ν μκ° μμ
λ©ν° μ€λ λμ κ²½μ° μμ 곡μ μ λ¬Έμ κ° λ°μν¨
νλμ μ€λ λμμ λ¬Έμ κ° λ°μνλ©΄ νλ‘μΈμ€ μ μ²΄κ° μν₯μ λ°μ
λ¬Έλ§₯ κ΅ν μμ μ μꡬν¨
CPUμμ μ¬λ¬ νλ‘μΈμ€λ₯Ό λμκ°λ©΄μ μμ μ μ²λ¦¬νλλ° μ΄ κ³Όμ μ λ¬Έλ§₯κ΅νμ΄λΌκ³ ν¨
π‘ λμμ±κ³Ό λ³λ ¬μ±μ μ°¨μ΄
λμμ λ릴 μ μλ μ€λ λ μλ μ»΄ν¨ν°μ μλ μ½μ΄μ κ°μλ‘ μ νλ¨
μ΄μ체μ λ κ° μ€λ λλ₯Ό μκ°μ λ°λΌ λΆν ν΄μ μ¬λ¬ μ€λ λκ° μΌμ μκ° λμκ°λ©΄μ μ€νλκ²ν¨
μ΄λ° λ°©μμ μλΆν μ΄λΌκ³ ν¨
μλ€λ€
μμ π£ μλΉ κ°λ°μ μ λλ€.
νλ‘μ°
μ΄μ ν¬μ€νΈ
DodGe.GG Project μ£Όκ°νν©(11μ 28 ~ 4μΌ)
λ€μ ν¬μ€νΈ
12μ 3μΌ TIL π
0κ°μ λκΈ
λκΈ μμ±