Recommended
Java 8 api :: lambda 이용하기
Effective Python 2st (Decorator & Generator)
Windows reversing study_basic_2
NHNNEXT 개경프14 Subway Rocket Team Study 3rd C++
How to use the Ruby programing language
Exception Handler, Controller Advice Of Spring
10 Billion a Day, 100 Milliseconds Per: Monitoring Real-Time Bidding at AdRoll
A middleware system between web and database servers
2015_07_25 ТАРАСОВА Є.О. (цеховий терапевт консультативної поліклініки)
Page 2 mode en provence garella
El templo victorioso de 3 dias
El Manejo Integrado de Plagas en el Perú III Foro Agrario CultiVida 2015
Procurement of infrastructure projects
Developing web apps using Erlang-Web
Erlang web framework: Chicago boss
Caching Strategies for an Erlang Based Web Stack
More Related Content
Java 8 api :: lambda 이용하기
Effective Python 2st (Decorator & Generator)
What's hot (8)
Windows reversing study_basic_2
NHNNEXT 개경프14 Subway Rocket Team Study 3rd C++
How to use the Ruby programing language
Viewers also liked (20) Exception Handler, Controller Advice Of Spring
10 Billion a Day, 100 Milliseconds Per: Monitoring Real-Time Bidding at AdRoll
A middleware system between web and database servers
2015_07_25 ТАРАСОВА Є.О. (цеховий терапевт консультативної поліклініки)
Page 2 mode en provence garella
El templo victorioso de 3 dias
El Manejo Integrado de Plagas en el Perú III Foro Agrario CultiVida 2015
Procurement of infrastructure projects
Developing web apps using Erlang-Web
Erlang web framework: Chicago boss
Caching Strategies for an Erlang Based Web Stack
learn you some erlang - chap 6 to chap7
Claves para la educación inclusiva.
learn you some erlang - chap0 to chap2
AADHAAR (BIO METRIC IDENTIFICATION NUMBER ) BASED VEHICLE LICENSE PLATE
Similar to Actors in erlang (10) Erlang을 이용한 swap 서버
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
Actors in erlang6. Erlang Syntax
변수
☞ 변수는 값을 오직 한 번만 받을 수 있다
☞ 대부분의 언어에서 =은 할당문을 나타내지만 얼랭에서 =는 패턴 매칭 연산을 의미한다
☞ =은 변수가 언바운드 상태일 경우에만 할당 연산자처럼 동작한다
8. Erlang Syntax
패턴 매칭
☞ 대부분의 언어에서 =은 할당문을 나타내지만 얼랭에서 =는 패턴 매칭 연산을 의미한다
☞ =은 변수가 언바운드 상태일 경우에만 할당 연산자처럼 동작한다
12. Actor Model
☞ 액터들은 서로 분리되어 있다
☞ 메시지들은 비동기로 전달된다
☞ 메시지들은 액터에게 직접 전달되는 것이 아니라 메일박스에 전달된다
☞ 액터는 메시지를 전송하기 위해 블로킹되지 않는다
☞ 액터는 수신된 메시지를 순차적으로 처리한다
Mail Box
14. Actor Model
Example
☞ 프로세스를 하나 생성한다
☞ Pid에는 프로세스 아이디가 들어간다
☞ test 모듈의 rpc함수를 호출한다 (메시지를 보낸다)
☞ Pid ! Value 는 프로세스(Pid)에게 Value 메시지를 보낸다는 것을 의미한다
17. Actor Model
1개 액터 = 1개 프로세스
2개 액터 = 2개 프로세스
.
.
1000개 액터 = 1000개 프로세스
.
.
10000000개 액터 = 10000000개 프로세스
20. Erlang Process
☞ 얼랭의 Process는 OS의 프로세스가 아니다
☞ 얼랭 시스템 내부의 메모리에 할당된 자체적인 프로세스이다
☞ CPU 마다 Run Queue가 있고 Thread를 할당 받아서 동작한다
☞ 스케줄러는 강제로 프로세스의 작업을 중단시킬 수 있는 선점형 방식으로 동작한다
☞ 한쪽 Scheduler가 일을 다 했는데, 다른 Scheduler가 바쁘게 일하고 있다면 작업을 훔쳐온다
☞ 일반적인 프로세스가 다른 Scheduler로 할당되는 것이 Context Switch인데 얼랭 VM은
현재 process struct를 가리키는 pointer만 변경하는 간단한 작업이다
21. Actor Actor
☞ 하나의 액터는 하나의 프로세스이다 (독립적인 개체)
☞ 한 프로세스가 다른 프로세스에 의존할 경우, 자신이 의존하는 다른 프로세스의 상태를 모니터링
할 필요가 있다
Supervisor
23. Link / Supervisor
☞ http://pigbrain.github.io/erlang/2015/08/04/ProcessErrorHandle_on_Erlang
☞ http://pigbrain.github.io/erlang/2016/01/08/supervisor_on_Erlang