久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      golang和erlang區(qū)別

      golang和erlang區(qū)別

      Erlang在1991年由愛立信公司向用戶推出了第一個版本,經(jīng)過不斷的改進完善和發(fā)展,在1996年愛立信又為所有的Erlang用戶提供了一個非常實用且穩(wěn)定的OTP軟件庫并在1998年發(fā)布了第一個開源版本。 (推薦學習:go)

      目前Erlang同時支持的操作系統(tǒng)有l(wèi)inux,windows,unix等,可以說適用于主流的操作系統(tǒng)上,尤其是它支持多核的特性非常適合現(xiàn)在的多核CPU,而分布式特性也可以很好融合目前的各種分布式集群。

      Go語言是編程語言設計的又一次嘗試,是對類C語言的重大改進,它不但能讓你訪問底層操作系統(tǒng),還提供了強大的網(wǎng)絡編程和并發(fā)編程支持。Go語言的用途眾多,可以進行網(wǎng)絡編程、系統(tǒng)編程、并發(fā)編程、分布式編程。

      Go語言的推出,旨在不損失應用程序性能的情況下降低代碼的復雜性,具有“部署簡單、并發(fā)性好、語言設計良好、執(zhí)行性能好”等優(yōu)勢,目前國內(nèi)諸多 IT 公司均已采用Go語言開發(fā)項目。

      Erlang和golang的區(qū)別:

      第一對鎖的態(tài)度不同,第二對異步IO的態(tài)度不同,第三消息機制不同。Erlang對鎖非常反感,認為變量不可變可以很大程度避免鎖。

      Golang的觀點是鎖確實有很大的負擔,但是鎖基本上是無法避免的,一旦有人共享狀態(tài)并且互相搶占去改變他,這時候鎖是必須存在的。

      Erlang服務器是單進程的,是邏輯上就沒有并發(fā)的東西,一個Process就是一個執(zhí)行體,所以Erlang的服務器和golang的服務器不一樣,golang的服務器是多進程的(goroutine)一起構成的一個服務器。每個請求建立一個獨立的進程(goroutine)。

      但是Erlang不同,一個服務器就是一個單進程的,所有的并發(fā)請求都進入到了進程郵箱,然后這個服務器從進程郵箱里取郵件(請求的內(nèi)容)處理,Erlang的服務器并沒有并發(fā)的請求,所以不需要所鎖。

      Erlang的高并發(fā)實現(xiàn),第一:每個Erlang的物理進會有很多的服務器,每個服務器是互相無干擾的,他們可以并發(fā)。第二是單服務器高并發(fā)使用的是異步IO。

      go認為何時都不應該有異步IO的代碼,Erlang則是在異步IO的基礎上加上輕量級進程模型的混雜。

      Golang對并發(fā)的支持,第一:價值回歸,golang最重要的事情是讓執(zhí)行成本降低,golang的棧最小可以到4K。

      第二:把執(zhí)行體作為語言內(nèi)建的標準設施(golang的代碼風格只有標準化得一種)。go得并發(fā)模型是最古老的并發(fā)模型,該并發(fā)模型包括,routine,原子操作,互斥體,同步,消息,同步IO。

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號