Selain fakta bahwa Erlang secara khusus dikembangkan untuk dijalankan dalam situasi bersamaan / diparalelkan / terdistribusi, dua teknik utama yang digunakannya adalah memungkinkan:
Tidak ada efek samping:
Ini berarti, ketika Anda memberikan fungsi sepotong data untuk dieksekusi, itu tidak akan kecuali dalam kasus yang sangat ketat mempengaruhi hal lain dalam sistem / proses yang berjalan. Ini berarti bahwa jika Anda menjalankan fungsi 300 kali sekaligus, tidak satu pun dari 300 eksekusi fungsi tersebut yang akan memengaruhi yang lain.
Teknik implementasi untuk memastikan tidak ada efek samping disebut "kekekalan" yang kira-kira berarti, tidak boleh bermutasi (diubah). Ini berarti bahwa segera setelah Anda membuat variabel, nilai variabel itu tidak dapat dimodifikasi. Erlang mengimplementasikan perilaku ini dengan "penugasan tunggal" sehingga setelah Anda menetapkan nilai ke variabel, Anda tidak dapat menetapkan nilai lagi.
X = 1.
X = 2. // This is not a valid operation
Ini memastikan bahwa tidak ada kode yang secara tidak sengaja mengubah nilai X yang menyebabkan kondisi balapan, oleh karena itu kode tersebut secara inheren aman dan penggunaan bersamaan menjadi sepele. Ini adalah perilaku yang sangat tidak umum di antara bahasa-bahasa perangkat lunak dan cara terbesar Erlang mengatur agar sangat cocok untuk eksekusi bersamaan.
Model aktor:
Ini adalah cara pemodelan tertentu yang telah menunjukkan untuk membuat implementasi dan manajemen pemrosesan bersamaan sangat sederhana untuk pengembang. Langsung dari wikipedia (http://en.wikipedia.org/wiki/Actor_model):
Model Aktor mengadopsi filosofi bahwa semuanya adalah aktor. Ini mirip dengan semuanya adalah filosofi objek yang digunakan oleh beberapa bahasa pemrograman berorientasi objek, tetapi berbeda dalam perangkat lunak berorientasi objek biasanya dieksekusi secara berurutan, sedangkan model Actor secara inheren berbarengan. Seorang aktor adalah entitas komputasi yang, dalam menanggapi pesan yang diterimanya, dapat secara bersamaan: mengirim sejumlah pesan ke aktor lain; membuat sejumlah aktor baru yang terbatas; tentukan perilaku yang akan digunakan untuk pesan berikutnya yang diterimanya. Tidak ada urutan yang diasumsikan untuk tindakan di atas dan mereka dapat dilakukan secara paralel. Memisahkan pengirim dari komunikasi yang dikirim adalah kemajuan mendasar dari model Aktor yang memungkinkan komunikasi tidak sinkron dan struktur kontrol sebagai pola pesan yang lewat.