Erlang - Proses

Perincian konkurensi di Erlang adalah sebuah proses. Proses adalah aktivitas / tugas yang berjalan secara bersamaan dan tidak bergantung pada proses lainnya. Proses-proses di Erlang ini berbeda dari proses dan utas yang kebanyakan orang kenal. Proses Erlang ringan, beroperasi dalam isolasi (memori) dari proses lain, dan dijadwalkan oleh Mesin Virtual (VM) Erlang. Waktu pembuatan proses sangat rendah, jejak memori dari proses yang baru saja muncul sangat kecil, dan satu VM Erlang dapat menjalankan jutaan proses.

Sebuah proses dibuat dengan bantuan metode pemijahan. Sintaks umum metode diberikan di bawah ini.

Sintaksis

spawn(Module, Name, Args)

Parameter

  • Module - Ini adalah nilai atom yang telah ditentukan sebelumnya yang harus? MODUL.

  • Name - Ini adalah nama fungsi yang akan dipanggil saat proses ditentukan.

  • Args - Ini adalah argumen yang perlu dikirim ke fungsi.

Nilai Kembali

Mengembalikan id proses dari proses baru yang dibuat.

Sebagai contoh

Contoh dari metode pemijahan ditunjukkan pada program berikut.

-module(helloworld). 
-export([start/0, call/2]). 

call(Arg1, Arg2) -> 
   io:format("~p ~p~n", [Arg1, Arg2]). 
start() -> 
   Pid = spawn(?MODULE, call, ["hello", "process"]), 
   io:fwrite("~p",[Pid]).

Hal-hal berikut perlu diperhatikan tentang program di atas.

  • Sebuah fungsi yang disebut panggilan didefinisikan dan akan digunakan untuk membuat proses.

  • Metode spawn memanggil fungsi panggilan dengan parameter hello dan proses.

Keluaran

Saat kita menjalankan program diatas kita akan mendapatkan hasil sebagai berikut.

<0.29.0>"hello" "process"

Sekarang mari kita lihat fungsi lain yang tersedia dengan proses.

Sr.No. Metode & Deskripsi
1

is_pid

Metode ini digunakan untuk menentukan apakah ada id proses.

2

is_process_alive

Ini disebut sebagai is_process_alive (Pid). Pid harus mengacu pada proses di node lokal.

3

pid_to_list

Ini mengubah id proses menjadi daftar.

4

terdaftar

Menampilkan daftar dengan nama semua proses yang terdaftar.

5

diri

Salah satu BIF yang paling umum digunakan, mengembalikan pid dari proses pemanggilan.

6

daftar

Ini digunakan untuk mendaftarkan proses dalam sistem.

7

dimana

Ini disebut sebagai whereis (Nama). Mengembalikan pid dari proses yang terdaftar dengan nama.

8

batalkan pendaftaran

Ini digunakan untuk membatalkan pendaftaran proses di sistem.