Thread Model - springscomin/be-was GitHub Wiki
μ€λ λ λͺ¨λΈ
Many-To-One Model (Green Thread Model)

Green Thread Model μμλ μ€λ λκ° μ΄μ체μ κ° μλ λ°νμ μμ§(μ: Javaμ JVM)μ μν΄ μ€μΌμ€λ§λμ΄ λμνλ€. μ¦, μ¬μ©μ λ 벨μμ μ€λ λλ₯Ό μ€μΌμ€λ§νλ©°, μ΄λ μ΄μ 체μ μ μ€μΌμ€λ§κ³Ό 무κ΄νκ² μνλλ€.
μ¬λ¬ κ°μ μ¬μ©μ μ€λ λ(User Threads)κ° νλμ 컀λ μ€λ λ(Kernel Thread)μ λ§€νλλ€.
β λͺ¨λ μ¬μ©μ μ€λ λλ νλμ 컀λ μ€λ λ λ΄μμ, νλμ CPU μ½μ΄μμ λ²κ°μκ°λ©° μ€νλλ€.
β λ©ν° μ½μ΄ νκ²½μμλ κ·Έ λ©ν° μ½μ΄ μμ€ν μ μ₯μ μ μ¨μ ν λ릴 μ μλ€.
One-To-One Model

One To One Modelμ λ©ν°μ€λ λ©μ μ΄κΈ° ꡬν λͺ¨λΈμ΄λ€.
μ¬μ©μ μ€λ λ 1κ°λ 컀λ μ€λ λ 1κ°μ λ§€νλλ€.
μ¬μ©μ μ€λ λ νκ°κ° λ³λμ 컀λ μ€λ λμ λ§€νλλ―λ‘, μ¬λ¬ μ€λ λκ° μ¬λ¬ CPU μ½μ΄μ μ¬λΌ λμμ μ€νλ μ μλ€.
νμ§λ§, νμ λ μ»΄ν¨ν μμμΌλ‘ μΈν΄ 컀λ μ€λ λμ μκ° μ νλλ©°, μ μ μ€λ λ μλ μ νλλ€.
λν, λ§μ μμ 컀λ μ€λ λκ° μμ±λλ©΄, 컀λ μ€λ λ κ°μ μ ν(context switch) λΉμ©μ΄ μ¦κ°νμ¬ μμ€ν μ μ λ°μ μΈ μ±λ₯ μ νλ₯Ό μ΄λν μ μλ€.
Many To Many Model (Native Thread Model)

Native Thread Modelμ Many-To-Oneλͺ¨λΈκ³Ό One-To-Oneλͺ¨λΈμ΄ κ°λ λ¨μ μ 보μν λͺ¨λΈμ΄λ€.
μ¬μ©μ μ€λ λ Nκ°λ 컀λ μ€λ λ Mκ°μ λ§€νλλ€. (N β₯ M)
μ΄μ체μ κ° μ¬μ©μ μ€λ λμ 컀λ μ€λ λλ₯Ό μ μ ν λ§€ννλ€.