π₯οΈ λ°±μλ/Java
[ch.14] μ€νΈλ¦Όμ νΉμ§
OR15A
2023. 11. 15. 20:52
μ€νΈλ¦Ό
- λ°μ΄ν°μμ€ μΆμν + (μμ£Όμ¬μ©νλ)λ©μλ μ μ
- λ°μ΄ν°μμ€ μΆμν: λ°μ΄ν°μμ€κ° 무μμ΄λ κ°μ κ°μ λ°©μμΌλ‘ λ€λ£¨λ κ²=μ½λμ μ¬μ¬μ©μ±↑ (λ°°μ΄, 컬λ μ , νμΌλ°μ΄ν° λͺ¨λ κ°λ₯ν¨)
- μ νμ€νΈλ¦Ό/무νμ€νΈλ¦Όμ΄ μμ.
μ€νΈλ¦Όμ νΉμ§
β μ€νΈλ¦Όμ λ°μ΄ν° μμ€λ₯Ό λ³κ²½νμ§ μλλ€.
- λ°μ΄ν° μμ€λ‘λΆν° μ½κΈ°λ§ ν¨. λ³κ²½μ X.
- νμμ λ°νμ΄ κ°λ₯ν¨(κ²°κ³Όλ₯Ό λ΄μ 컬λ μ /λ°°μ΄)
β μ€νΈλ¦Όμ μΌνμ©μ΄λ€.
- ν λ² μ¬μ©νλ©΄(μ΅μ’ μ°μ°μν) μ€νΈλ¦Ό λ«νμ λ€μ μ¬μ©ν μ μμ. νμμ λ€μ μμ±νλ©΄ λ¨.
β μ€νΈλ¦Όμ μμ μ λ΄λΆλ°λ³΅μΌλ‘ μ²λ¦¬νλ€.
- λ΄λΆλ°λ³΅=λ°λ³΅λ¬Έμ λ©μλ λ΄λΆμ μ¨κΈΈ μ μλ κ².
β μ€νΈλ¦Όμ μ°μ°μ μ€κ°μ°μ°κ³Ό μ΅μ’ μ°μ°μ΄ μλ€.
- λ€μν μ°μ°μ μ 곡ν΄μ 볡μ‘ν μμ λ€μ κ°λ¨ν μ²λ¦¬νλ κ²μ΄ κ°λ₯ν¨.
- *μ€κ°μ°μ°: μ°μ°κ²°κ³Όκ° μ€νΈλ¦Όμ. μ€νΈλ¦Όμ μ°μν΄μ μ€κ°μ°μ°μ΄ κ°λ₯ν¨.
- *μ΅μ’ μ°μ°: μ°μ°κ²°κ³Όκ° μ€νΈλ¦ΌX. μ€νΈλ¦Όμ μμλ₯Ό μλͺ¨νλ―λ‘ λ¨ ν λ²λ§ κ°λ₯ν¨
β μ§μ°λ μ°μ°μ νλ€.
- μ΅μ’ μ°μ°μ΄ μνλκΈ° μ κΉμ§λ μ€κ°μ°μ° μνX (무νμ€νΈλ¦Όμλ distinct()μ€λ³΅μ κ±°κ° κ°λ₯ν μ΄μ )
- μ¦κ°μ μΈ μ°μ°μ΄ μλλ©° μ΄λ€ μνμ ν΄μΌνλμ§ μ§μ λ§ ν΄λ . μ΅μ’ μ°μ°μ΄ νΈμΆλλ©΄ μ§μ λ μ€κ° μ°μ°μ΄ μ€νλ¨.
β λ³λ ¬μ€νΈλ¦Όμ΄ κ°λ₯νλ€.
- λ΄λΆμ μΌλ‘ fork&join νλ μμν¬λ₯Ό μ΄μ©ν΄μ μλμ μΌλ‘ μ°μ°μ λ³λ ¬λ‘ μνν¨.(pararell( )μ΄μ©)
- λ³λ ¬μμ μ΄ λν΄νΈμ΄κ³ λ³λ ¬νμ§ μμ λλ sequential( )λ©μλ μ¬μ©.
β κΈ°λ³Έν λ°μ΄ν°μμ€λ₯Ό λ€λ£¨λ μ€νΈλ¦Όμ μ 곡νλ€.
- μ€ν λ°μ±&μΈλ°μ±μΌλ‘ μΈν λΉν¨μ¨μ μ€μ΄κΈ° μν΄ λ°μ΄ν°μμ€μ μμλ₯Ό κΈ°λ³ΈνμΌλ‘ λ€λ£¨λ μ€νΈλ¦Όμ μ 곡ν¨.
- κΈ°λ³Ένλ§ λ€λ£¨κΈ° λλ¬Έμ κ΄λ ¨λ μ μ©ν λ©μλλ₯Ό μΆκ°λ‘ μ 곡ν¨
- ex) IntStream, LongStream, DoubleStream