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. |