Erlang編程語言的第一印象
和朋友切磋高并發(fā)的時(shí)候,又一次涉及了Erlang,Erlang出自名門愛立信,具有穩(wěn)定性極高的虛擬機(jī)和平臺(tái)庫,F(xiàn)acebook用它實(shí)現(xiàn)了聊天系統(tǒng),Amazon 開發(fā)了SimpleDB,最令人驚嘆的是What'sApp了,高并發(fā)的處理機(jī)制令人矚目,是時(shí)候了解一下Erlang了。
世界是并行的,Erlang程序反應(yīng)了我們思考和交流的方式,人作為個(gè)體通過發(fā)送消息進(jìn)行交流,如果有人死亡,其他人會(huì)注意到。
Erlang里的模塊類相當(dāng)于OOPL中的類,進(jìn)程相當(dāng)于OOPL里的對(duì)象或類實(shí)例。
并發(fā)編程可以用來提升性能,創(chuàng)建可擴(kuò)展和容錯(cuò)的系統(tǒng),以及編寫清晰和可理解的程序來控制現(xiàn)實(shí)世界里的應(yīng)用。
并發(fā)程序是以一種并發(fā)編程語言編寫的程序,并發(fā)編程語言擁有用于編寫并發(fā)程序的語言結(jié)構(gòu)。Erlang的并發(fā)程序是由互相通信的多組順序進(jìn)程組成,一個(gè)進(jìn)程就是一個(gè)輕量級(jí)的虛擬機(jī),可以執(zhí)行單個(gè)的Erlang函數(shù),只能通過發(fā)送和接收消息來與其他進(jìn)程通信。也就是說,并發(fā)性是由Erlang虛擬機(jī)提供的,并操作系統(tǒng)的并發(fā)控制粒度要小很多。
在Erlang里:
1) 創(chuàng)建和銷毀進(jìn)程是非常快的
2) 在進(jìn)程間發(fā)送消息是非??斓?br />
3) 進(jìn)程在所有操作系統(tǒng)上都具有相同的行為方式
4) 可以擁有大量的進(jìn)程
5) 進(jìn)程間不共享內(nèi)存,是完全獨(dú)立的
6) 唯一的溝通方式是消息傳遞,每個(gè)進(jìn)程都有一個(gè)郵箱與進(jìn)程同步創(chuàng)建。
動(dòng)態(tài)代碼載入是Erlang特性之一,函數(shù)調(diào)用的總是最新模塊里的最新版函數(shù),哪怕當(dāng)代碼在模塊里運(yùn)行時(shí)重新編譯了該模塊也是如此。
相關(guān)文章
erlang?on_load_function_failed排查過程解析
這篇文章主要為大家介紹了erlang?on_load_function_failed的排查過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
Erlang中執(zhí)行l(wèi)inux命令的兩種方法
這篇文章主要介紹了Erlang中執(zhí)行l(wèi)inux命令的兩種方法,本文著重講解了erlang:open_port的使用,需要的朋友可以參考下2015-01-01
Erlang分布式節(jié)點(diǎn)中的注冊(cè)進(jìn)程使用實(shí)例
這篇文章主要介紹了Erlang分布式節(jié)點(diǎn)中的注冊(cè)進(jìn)程使用實(shí)例,本文直接給出實(shí)例代碼,需要的朋友可以參考下2015-02-02

