Study
Elixir

Process Dasar: spawn, send, receive

Penjelasan

Process di Elixir (berjalan di atas BEAM) SANGAT ringan — bisa membuat ribuan hingga jutaan process dalam satu aplikasi tanpa masalah performa berarti, jauh berbeda dari thread OS tradisional yang berat. Process TIDAK berbagi memori sama sekali — satu-satunya cara komunikasi antar process adalah lewat PESAN, dikirim dengan `send/2` dan diterima dengan `receive`.

Contoh Konsep

pid = spawn(fn ->
  receive do
    {:halo, nama} -> IO.puts("Menerima salam dari #{nama}")
  end
end)

send(pid, {:halo, "Budi"})
# Output (di process pid): Menerima salam dari Budi

# self() mengembalikan PID process saat ini
IO.inspect(self())

Praktikum

Buat process dengan spawn yang menunggu pesan berupa angka, lalu mencetak hasil kuadratnya. Kirim angka 5 ke process itu dengan send.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Karena process tidak berbagi memori dan cuma berkomunikasi lewat pesan, satu process yang crash TIDAK akan merusak process lain — inilah fondasi fault-tolerance BEAM yang membuat Elixir/Erlang populer untuk sistem yang harus tetap hidup.