iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
Software Development

Elixir 多工 : Processes 與 OTP 系列

介紹作為 Elixir 核心的 Processes 與延伸的多工框架 OTP,讓我們一起研究分享平常在寫 Elixir 可以輕鬆做到多工底下隱藏的原理以及進階應用。

鐵人鍊成 | 共 30 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文
DAY 21

21 Name registration

目前用過的很多 start 函式,如 Supervisor.start_link, GenServer.start 等都可以使用 name option 來把...

2024-10-05 ‧ 由 韋政 分享
DAY 22

22 name: {:via, module, term}

除了一個 atom 可以使用在 name option 之外,還有 {:global, term} GenServer 會使用 :global 模組(erlan...

2024-10-06 ‧ 由 韋政 分享
DAY 23

23 Registry

我們可以把 process 註冊在 Registry 裡,並用名稱去查詢,解決了 process 重啟後 pid 更換,或是需要動態產生名字但是又要避免動態生成...

2024-10-07 ‧ 由 韋政 分享
DAY 24

24 DynamicSupervisor 搭配 Registry

新增一個 NiceBank.Manager 模組 defmodule NiceBank.Manager do use DynamicSupervisor...

2024-10-08 ‧ 由 韋政 分享
DAY 25

25 Node (節點)

Elixir 與 erlang OTP 天生就有讓我們組成 cluster 的功能, 這篇我們會將兩個終端機的 iex 連接起來,並互相傳遞訊息 使用 iex...

2024-10-09 ‧ 由 韋政 分享
DAY 26

26 跨 node 取得 pid

在 Elixir (erlang) 的 cluster 裡,所有 process 的 pid (地址),預設就是可以在整個 cluster 使用,只要拿到一個...

2024-10-10 ‧ 由 韋政 分享
DAY 27

27 Node 監控

當一個新的 Node 加入 cluster,會自動與所有的機器連上。譬如說, node3 connect 到 node1,node2 也 conect 到 no...

2024-10-11 ‧ 由 韋政 分享
DAY 28

28 Cookies

每次啟動一個 BEAM vm 時,他會產生一個隨機的密碼存在家目錄的 .erlang.cookie 檔案 (~/.erlang.cookie) 我們可以使用 N...

2024-10-12 ‧ 由 韋政 分享
DAY 29

29 Process.info

Process.info/1 可以讓我們看到 process 當下的詳細狀態 info = Process.info(self()) 會得到相當很長超級詳細...

2024-10-13 ‧ 由 韋政 分享
DAY 30

30 使用遞迴數除錯

由於 BEAM VM 的特性,debug 時我們可以選擇關閉指定正在執行的 process 或是特定的指揮串,而不是只有直接關掉整個 instance 這個選擇...

2024-10-14 ‧ 由 韋政 分享