Dead Lock μ΄λž€?


Dead Lock, κ΅μ°©μƒνƒœλŠ” μ„œλ‘œ λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€κ°€ μ„œλ‘œ μ μœ ν•˜κ³  μžˆλŠ” μžμ›μ˜ λ°˜λ‚©μ„ λŒ€κΈ°ν•˜κ³  μžˆλŠ” μƒνƒœλ₯Ό μ˜λ―Έν•œλ‹€.

λ°œμƒ 쑰건

  • μƒν˜Έλ°°μ œ - ν•œ λ²ˆμ— ν•œ ν”„λ‘œμ„ΈμŠ€λ§Œ ν•΄λ‹Ή μžμ›μ„ μ‚¬μš©ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€.
  • μ μœ λŒ€κΈ° - ν• λ‹Ήλœ μžμ›μ„ 가진 μƒνƒœμ—μ„œ λ‹€λ₯Έ μžμ›μ„ κΈ°λ‹€λ¦°λ‹€.
  • 비선점 - λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€κ°€ μžμ›μ˜ μ‚¬μš©μ„ 끝낼 λ•Œ κΉŒμ§€ μžμ›μ„ 뺏을 수 μ—†λ‹€.
  • μˆœν™˜λŒ€κΈ° - 각 ν”„λ‘œμ„ΈμŠ€κ°€ μˆœν™˜μ μœΌλ‘œ λ‹€μŒ ν”„λ‘œμ„ΈμŠ€κ°€ μš”κ΅¬ν•˜λŠ” μžμ›μ„ 가지고 μžˆλ‹€.

ν•΄κ²° 방법

  • 예방 - 4가지 쑰건 쀑 ν•˜λ‚˜λΌλ„ λ§Œμ‘±ν•˜μ§€ μ•Šλ„λ‘ ν•œλ‹€.
  • νšŒν”Ό - κ΅μ°©μƒνƒœκ°€ λ°œμƒν•˜μ§€ μ•Šλ„λ‘ μ•Œκ³ λ¦¬μ¦˜μ„ μ„€κ³„ν•œλ‹€.
  • 회볡 - κ΅μ°©μƒνƒœκ°€ λ°œμƒν•  λ•Œ ν•΄κ²°ν•œλ‹€.
  • λ¬΄μ‹œ - νšŒλ³΅κ³Όμ •μ˜ μ„±λŠ₯μ €ν•˜κ°€ μ‹¬ν•˜λ‹€λ©΄ λ¬΄μ‹œν•œλ‹€.

은행원 μ•Œκ³ λ¦¬μ¦˜

ν”„λ‘œμ„ΈμŠ€κ°€ μžμ›μ„ μš”κ΅¬ν•  λ•Œ μžμ›μ„ ν• λ‹Ήν•œ 후에도 μ•ˆμ • μƒνƒœλ‘œ λ‚¨μ•„μžˆκ²Œ λ˜λŠ”μ§€ 사전에 κ²€μ‚¬ν•˜μ—¬ κ΅μ°©μƒνƒœλ₯Ό νšŒν”Όν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μ΄λ‹€. μ•ˆμ • μƒνƒœλΌλ©΄ μžμ›μ„ ν• λ‹Ήν•˜κ³  μ•„λ‹ˆλ©΄ μžμ› ν•΄μ§€κΉŒμ§€ λŒ€κΈ°ν•œλ‹€.

Starvation μ΄λž€?


Starvation, κΈ°μ•„μƒνƒœλŠ” μ—¬λŸ¬ ν”„λ‘œμ„ΈμŠ€κ°€ λΆ€μ‘±ν•œ μžμ›μ„ μ μœ ν•˜κΈ° μœ„ν•΄ κ²½μŸν•  λ•Œ νŠΉμ • ν”„λ‘œμ„ΈμŠ€κ°€ μ˜μ›νžˆ μžμ› 할당이 λ˜μ§€ μ•ŠλŠ” 경우λ₯Ό μ˜λ―Έν•œλ‹€.

ν•΄κ²° 방법

  • μš°μ„ μˆœμœ„λ₯Ό μˆ˜μ‹œλ‘œ λ³€κ²½ν•œλ‹€.
  • 였래 κΈ°λ‹€λ¦° ν”„λ‘œμ„ΈμŠ€μ˜ μš°μ„ μˆœμœ„λ₯Ό λ†’μ—¬μ€€λ‹€.
  • Queue λ₯Ό μ‚¬μš©ν•œλ‹€.