관리 메뉴

Algo μ“°μž

7번째 μŠ€ν„°λ”” λ³Έλ¬Έ

πŸ’» Programming Language/C#

7번째 μŠ€ν„°λ””

S.Honey 2022. 4. 9. 23:55

C# 을 μ‚¬μš©ν•˜λŠ” 이유!!!

  • μ†Œν”„νŠΈμ›¨μ–΄ μ‹ λ’°μ„± ν…ŒμŠ€νŒ…μ„ ν•˜κΈ°μœ„ν•΄
  • μ†Œν”„νŠΈμ›¨μ–΄ μ‹ λ’°μ„± ν…ŒμŠ€νŒ…μ— μžˆμ–΄ 타 언어듀도 μ‚¬μš©ν•  수 μžˆμ§€λ§Œ C#에 λΉ„ν•΄ μ‚¬μš©ν•˜κΈ° μ–΄λ ΅κ±°λ‚˜ λ³΅μž‘ν•¨
  • Window 기반 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ œμž‘ν• λ•Œ C++, C#, Java 등을 μ‚¬μš©ν•˜λŠ”λ° μ‹ λ’°μ„±μ‹œν—˜ λ©΄μ—μ„œ C#을 μ‚¬μš©ν•˜λŠ”κ²Œ 이점이 μžˆλ‹€.
  • 무엇보닀도 μœˆλ„μš° μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κ°œλ°œμ–Έμ–΄λ‘œλŠ” μ΅œμ‹ !
  • μΆ”κ°€μ μœΌλ‘œ 생산성이 μ’‹λ‹€λŠ” 츑면도 μžˆλ‹€.
  • UIλ₯Ό 예쁘게 ν•΄μ£ΌλŠ” νˆ΄λ„ 있기 λ•Œλ¬Έ

동기화에 μžˆμ–΄ λ‹€λ₯Έ λ©”μ†Œλ“œμ—λ„ lock μΆ”κ°€!

Output


λ§€κ°œλ³€μˆ˜κ°€ μžˆλŠ” μŠ€λ ˆλ“œ 객체 생성해보기

Output


λ³‘λ ¬μ²˜λ¦¬ vs λΆ„μ‚°μ²˜λ¦¬


λ³‘λ ¬μ²˜λ¦¬

  • ν•˜λ‚˜μ˜ μž‘μ—…(work)λ₯Ό λ‚˜λˆ μ„œ μ²˜λ¦¬ν•œλ‹€.
  • Divide & Merge
  • 각각의 μŠ€λ ˆλ“œκ°€ μ²˜λ¦¬ν•˜λŠ” 둜직이 κ°™μ€κ²½μš°μ— μ‚¬μš©
    • ν˜„μž¬ μ‹œμŠ€ν…œμ—μ„œλŠ” 거의 μ‚¬μš©ν•  수 μ—†κ² μ§€λ§Œ λŒ€μš©λŸ‰ 데이터(1TB 이상)μ²˜λ¦¬λ‚˜ Parallelν•˜κ²Œ 둜직이 κ΅¬μ„±λœ κ²½μš°μ— μ‚¬μš©ν•  수 μžˆλ‹€.

λΆ„μ‚°μ²˜λ¦¬

  • μ—¬λŸ¬κ°œμ˜ μž‘μ—…μ„ nλŒ€μ˜ λ¨Έμ‹ μ—μ„œ 처리
  • Queueλ₯Ό μ΄μš©ν•  수 있음

μΆ”κ°€λ‚΄μš©

  • Parallel ν΄λž˜μŠ€λŠ” ν•΄λ‹Ή ν•˜λ“œμ›¨μ–΄ μžμ›μ˜ CPU μ½”μ–΄ 개수만큼 μŠ€λ ˆλ“œλ₯Ό μƒμ„±ν•œλ‹€.
  • μŠ€λ ˆλ“œλ₯Ό μ‹€μ œ μ½”μ–΄μˆ˜ 보닀 많게 μƒμ„±ν•˜λ©΄ Context Change와 같은 μƒν™©μ—μ„œ μ˜€λ²„ν—€λ“œκ°€ λ°œμƒν•΄ μ„±λŠ₯λ©΄μ—μ„œ 뢈이읡이 μžˆμ„ 수 μžˆλ‹€.