Erlang - กระบวนการ
รายละเอียดของการทำงานพร้อมกันใน Erlang เป็นกระบวนการ กระบวนการคือกิจกรรม / งานที่ทำงานพร้อมกันและเป็นอิสระจากกระบวนการอื่น ๆ กระบวนการเหล่านี้ใน Erlang แตกต่างจากกระบวนการและเธรดที่คนส่วนใหญ่คุ้นเคย กระบวนการ Erlang มีน้ำหนักเบาทำงานใน (หน่วยความจำ) แยกจากกระบวนการอื่น ๆ และกำหนดโดย Virtual Machine (VM) ของ Erlang เวลาในการสร้างกระบวนการต่ำมากรอยเท้าหน่วยความจำของกระบวนการที่เพิ่งเกิดนั้นมีขนาดเล็กมากและ Erlang VM เดียวสามารถมีกระบวนการทำงานได้หลายล้านกระบวนการ
กระบวนการถูกสร้างขึ้นด้วยความช่วยเหลือของวิธีการวางไข่ ไวยากรณ์ทั่วไปของวิธีการได้รับด้านล่าง
ไวยากรณ์
spawn(Module, Name, Args) 
    พารามิเตอร์
Module - นี่คือค่าอะตอมที่กำหนดไว้ล่วงหน้าซึ่งต้องเป็น? MODULE
Name - นี่คือชื่อของฟังก์ชันที่จะเรียกใช้เมื่อกำหนดกระบวนการ
Args - นี่คืออาร์กิวเมนต์ที่จำเป็นต้องส่งไปยังฟังก์ชัน
ส่งคืนค่า
ส่งคืนรหัสกระบวนการของกระบวนการใหม่ที่สร้างขึ้น
ตัวอย่างเช่น
ตัวอย่างของวิธีการวางไข่แสดงอยู่ในโปรแกรมต่อไปนี้
-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]). 
    สิ่งต่อไปนี้ต้องสังเกตเกี่ยวกับโปรแกรมข้างต้น
มีการกำหนดฟังก์ชันที่เรียกว่าการโทรและจะใช้เพื่อสร้างกระบวนการ
วิธีการวางไข่เรียกใช้ฟังก์ชันการโทรด้วยพารามิเตอร์ hello และ process
เอาต์พุต
เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้
<0.29.0>"hello" "process" 
    ตอนนี้เรามาดูฟังก์ชั่นอื่น ๆ ที่มีให้ในกระบวนการ
| ซีเนียร์ | วิธีการและคำอธิบาย | 
|---|---|
| 1 |   is_pid วิธีนี้ใช้เพื่อตรวจสอบว่ามีรหัสกระบวนการหรือไม่  |  
      
| 2 |   is_process_alive สิ่งนี้เรียกว่า is_process_alive (Pid) Pid ต้องอ้างถึงกระบวนการที่โลคัลโหนด  |  
      
| 3 |   pid_to_list จะแปลงรหัสกระบวนการเป็นรายการ  |  
      
| 4 |   จดทะเบียน ส่งคืนรายการที่มีชื่อของกระบวนการที่ลงทะเบียนทั้งหมด  |  
      
| 5 |   ตนเอง หนึ่งใน BIF ที่ใช้บ่อยที่สุดจะคืนค่า pid ของกระบวนการโทร  |  
      
| 6 |   ลงทะเบียน ใช้เพื่อลงทะเบียนกระบวนการในระบบ  |  
      
| 7 |   อยู่ไหน เรียกว่า whereis (ชื่อ) ส่งคืน pid ของกระบวนการที่ลงทะเบียนด้วยชื่อ  |  
      
| 8 |   ยกเลิกการลงทะเบียน ใช้เพื่อยกเลิกการลงทะเบียนกระบวนการในระบบ  |