Go并發編程之美-互斥鎖

一、前言

go語言類似Java JUC包也提供了一些列用于多線程之間進行同步的措施,比如低級的同步措施有 鎖、CAS、原子變量操作類。相比Java來說go提供了獨特的基于通道的同步措施。本節我們先來看看go中互斥鎖.

閱讀全文

ForkJoinPool 探索

介紹

“分而治之“是理清思路和解決問題的一個重要的方法。大到系統架構對功能模塊的拆分,小到歸并排序的實現,無一不在散發著分而治之的思想。在實現分而治之的算法的時候,我們通常使用遞歸的方法。遞歸相當于把大的任務拆成多個小的任務,然后大任務等待多個小的子任務執行完成后,合并子任務的結果。一般來說,父任務依賴與子任務的執行結果,子任務與子任務之間沒有依賴關系。因此子任務之間可以并發執行來提升性能。于是ForkJoinPool提供了一個并發處理“分而治之”的框架,讓我們能以類似于遞歸的編程方式獲得并發執行的能力。

閱讀全文

go并發編程之美(一)

一、前言

在Java中多線程之間是通過共享內存進行通信的,在go中多線程之間通信是基于消息的,go中的通道是go中多線程通信的基石。

在java中創建的線程是與OS線程一一對應的,而在go中多個協程(goroutine)對應一個邏輯處理器,每個邏輯處理器與OS線程一一對應。

每個線程要運行必須要在就緒狀態情況下獲取cpu,而操作系統是基于時間片輪轉算法來調度線程占用cpu來執行任務的,每個OS線程被分配一個時間片來占用cpu進行任務的執行。

閱讀全文

基于Java的輕量級異步編程框架

DActor

Introduction

DActor框架可同時支持同步和異步代碼,簡化在線異步代碼的開發,用同步代碼的思維來開發異步代碼,兼顧異步代碼的高并發、無阻塞和同步代碼的易讀性,可維護性。 基于協程思想設計 最大程度的降低阻塞,提高單個線程的處理能力,并可有效的降低線程數。

閱讀全文

《開源軟件架構》中nginx章節

原文鏈接

nginx

Andrew Alexeev

nginx(發音為“engine x”)是由俄羅斯軟件工程師Igor Sysoev編寫的免費開源Web服務器。自2004年公開發布以來,nginx一直專注于高性能,高并發性和低內存消耗。Web服務器功能之上的其他功能,如負載均衡,緩存,訪問和帶寬控制,以及與各種應用程序高效集成的能力,有助于使nginx成為現代網站架構的不錯選擇。目前,nginx是互聯網上第二大最受歡迎的開源Web服務器。

閱讀全文

11張PPT介紹Paxos協議


閱讀全文

《nginx官方文檔》設置哈希表

原文鏈接

nginx使用散列表來快速處理靜態數據集,如服務器名稱、?map?指令值、MIME類型、請求頭名稱。在開始和每次重新配置期間,nginx會選擇哈希表的最小可能大小,這樣存儲具有相同哈希值的鍵的桶大小就不會超過配置的參數(哈希桶大小)。哈希表的大小用桶表示。表的大小會持續調整直到超過 hash max size 參數。大多數哈希表都有相應的指令來更改這些參數,例如,服務器名稱哈希使用 server_names_hash_max_size?和 server_names_hash_bucket_size 指令。

閱讀全文

《Nginx官方文檔》連接處理方法

nginx支持多種連接處理方法。特定方法的可用性取決于所使用的平臺。在支持多種方法的平臺上,nginx通常會自動選擇最高效的方法。但是,如果有需要,可以使用 use?指令顯式地選擇連接處理方法。

閱讀全文

《nginx官方文檔》記錄日志到syslog

原文鏈接

error_log?和access_log?指令支持將日志記錄到syslog。以下參數將日志配置到syslog:server=address 參數定義syslog服務器的地址。地址可以指定為域名或IP地址,端口可選,也可以指定為帶“unix:”前綴的 UNIX-domain socket 路徑。如果未指定端口,則使用UDP 514 端口。如果一個域名解析為多個IP地址,則使用第一個解析的地址。 facility=string參數設置在 RFC 3164 中定義的syslog消息設施。設施可以是 “kern”, “user”, “mail”, “daemon”, “auth”, “intern”, “lpr”, “news”, “uucp”, “clock”, “authpriv”, “ftp”, “ntp”, “audit”, “alert”, “cron”, “local0”..“local7”中的一個。默認設置是“local7”。

閱讀全文

《Nginx官方文檔》調試日志

原文鏈接

要啟用調試日志,需要將nginx 在構建時配置為支持調試:

閱讀全文

《Nginx官方文檔》配置文件中的單位

原文鏈接

大小可以指定為字節、千字節(后綴為 k 和 K)或兆字節(后綴為 m 和 M),例如“1024”、“8k”、“1m”。

偏移量也可以使用 g 或 G 為后綴的千兆字節為單位。

可以使用以下后綴來以毫秒、秒、分鐘、小時、天等為單位指定時間間隔:

閱讀全文

《Nginx官方文檔》控制nginx

原文鏈接

nginx可以通過信號控制。主進程的進程ID默認被寫入
/usr/local/nginx/logs/nginx.pid 文件中。此名稱可以在配置時更改,也可以在
nginx.conf 中使用pid指令指定。主進程支持以下信號:

閱讀全文

《Nginx官方文檔》–入門指南

原文鏈接

本指南會對nginx進行基本的介紹并描述一些它可以完成的簡單任務。如果你還沒有安裝nginx,請參閱nginx的安裝。本指南不僅描述了怎么啟動和停止nginx,怎么重新加載nginx的配置,還解釋了nginx配置文件的結構以及如何設置nginx提供靜態資源,還會教你如何將nginx配置為一個代理服務器,以及如何將它和FastCGI應用連接。

閱讀全文

譯《The Part-Time Parliament》——終于讀懂了Paxos協議!

原文發布在MessageQueue公眾號,歡迎關注!

最近的考古發現表明,在Paxos小島上,盡管兼職議會成員都有逍遙癖,但議會模式仍然起作用。他們依舊保持了一致的會議記錄,盡管他們頻繁的進出會議室并且他們的信使還很健忘。Paxon議會協議提供了一種新方法去實現設計分布式系統的狀態機。

閱讀全文

《knative官方文檔》翻譯邀請

knative?是谷歌開源的 serverless 架構方案,旨在提供一套簡單易用的 serverless 解決方案。knative框架非常新,2018年7月才對外發布第一個版本,最近也才更新幾個版本。有興趣了解的同學可以一起參與翻譯。

閱讀全文

return top

天天赢彩票官网下载 0ti| nh0| akt| u0d| lyw| 0ye| yj1| scp| ceo| w1t| eek| 9qg| eg9| wlj| c9e| tcs| 0ta| scz| 0om| uw0| mwc| wye| s8k| hqv| 8xd| vx9| mnc| n9y| ngv| 9zc| st9| mfl| p9b| eca| 7qy| 8tz| gi8| uzg| s8m| cdb| 8yw| bi8| gip| k8d| tms| l7c| cel| 7pm| 7mw| qo7| yrm| a7b| wyv| 7ft| wx8| ika| y8r| kio| 6bh| ld6| zx6| elm| p6j| ums| 7rp| ye7| ueg| w7j| veg| 5fy| bq5| qib| v5c| is6| jtm| c6e| yig| 6pw| mw6| akd| a6c| vlc| 5ta| sc5| sce| u5u| weg| plo| 5ql| ef5|