TCP異步框架 Golang 編程風(fēng)格 Go語言面向?qū)ο缶幊痰娘L(fēng)格是多用組合,少用繼承,以匿名嵌入的方式實現(xiàn)繼承。 掌握Go語言,要把握一個中心...
設(shè)計思路 在linux下實現(xiàn)定時器主要有如下方式 基于鏈表實現(xiàn)定時器 基于排序鏈表實現(xiàn)定時器 基于最小堆實現(xiàn)定時器 基于時間輪實現(xiàn)定時器 在這當(dāng)...
控制并發(fā)有三種種經(jīng)典的方式,一種是通過channel通知實現(xiàn)并發(fā)控制 一種是WaitGroup,另外一種就是Context。 1. 使用最基本通...
在講解InnoDB的MVCC機(jī)制之前,我們應(yīng)該了解MySQL所支持的事務(wù),以及各個事務(wù)級別的區(qū)別和每一個事務(wù)級別所存在的問題。 1. 事務(wù) 事務(wù)...
互斥鎖 互斥鎖用來保證一段時間內(nèi)只有一個線程在執(zhí)行一段代碼。 我們先看下面一段代碼。這是一個讀/寫程序,它們公用一個緩沖區(qū),并且我們假定一個緩沖...
這是守護(hù)進(jìn)程的啟動的代碼 接下來逐個分析 每一個進(jìn)程都有一組資源限制,可以通過getrlimit和setrlimit函數(shù)查詢和更改。 兩個函數(shù)返...
計算機(jī)與網(wǎng)絡(luò)設(shè)備要相互通信,雙方就必須基于相同的方法。比如,如何結(jié)束通信等規(guī)則都需要事先確定。不同的硬件、操作系統(tǒng)之間的通信,所有的這一切都需要...
雖然redis服務(wù)是單線程的服務(wù),單步的redis操作是線程安全的,但是當(dāng)我們在高并發(fā)的情況下,需要一系列的redis邏輯操作,而這些操作需要保...
下列情況socket可讀: socket內(nèi)核接收緩存區(qū)中的字節(jié)數(shù)大于或者等于其低水位標(biāo)記SO_RCVLOWAT。此時我們可以無阻塞地讀該sock...