수색…


에이전트를 통한 상태 관리

하나의 상태를 랩핑하고 액세스하는 가장 간단한 방법은 Agent 입니다. 모듈을 사용하면 임의의 데이터 구조를 유지하는 프로세스를 생성하고 메시지를 보내서 해당 구조를 읽고 업데이트 할 수 있습니다. 이 덕분에 구조는 한 번에 하나의 메시지 만 처리하기 때문에 자동으로 직렬화됩니다.

iex(1)> {:ok, pid} = Agent.start_link(fn -> :initial_value end)
{:ok, #PID<0.62.0>}
iex(2)> Agent.get(pid, &(&1))
:initial_value
iex(3)> Agent.update(pid, fn(value) -> {value, :more_data} end)
:ok
iex(4)> Agent.get(pid, &(&1))
{:initial_value, :more_data}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow