談到內(nèi)存對齊,早年間玩Java的時(shí)候就能偶爾打打交道,為此Java8還提供了個(gè)語法糖@Contended來幫助我們解決高速緩存cacheline內(nèi)存未對齊的偽共享問題。不過G...
談到內(nèi)存對齊,早年間玩Java的時(shí)候就能偶爾打打交道,為此Java8還提供了個(gè)語法糖@Contended來幫助我們解決高速緩存cacheline內(nèi)存未對齊的偽共享問題。不過G...
日常開發(fā)過程中,map結(jié)構(gòu)應(yīng)該登場率是較為頻繁的。但是Go的內(nèi)建map類型并不是協(xié)程安全的。如下面這個(gè)栗子,如果業(yè)務(wù)開發(fā)過程中不注意很容易中招。 聲明一個(gè)map[int]in...
sync.Cond實(shí)現(xiàn)了一個(gè)條件變量,用于等待一個(gè)或一組goroutines滿足條件后喚醒的場景。每個(gè)Cond關(guān)聯(lián)一個(gè)Locker通常是一個(gè)*Mutex或RWMutex`根據(jù)...
如果能夠?qū)⑺袃?nèi)存都分配到棧上無疑性能是最佳的,但不幸的是我們不可避免需要使用堆上分配的內(nèi)存。我們可以優(yōu)化使用堆內(nèi)存時(shí)的性能損耗嗎?答案是肯定的。Go同步包中,sync.Po...
Go是強(qiáng)類型/靜態(tài)類型語言,每個(gè)變量在編譯時(shí)就已經(jīng)確定是哪種靜態(tài)類型。反射(reflection)是程序在運(yùn)行時(shí)可以訪問、檢測、修改自身狀態(tài)或行為的一種能力。在Java出現(xiàn)后...
使用Go作為服務(wù)端開發(fā)時(shí),每個(gè)請求過來都會(huì)分配一個(gè)goroutine來處理,請求處理過程中,可能還會(huì)創(chuàng)建額外的goroutine訪問DB或者RPC服務(wù)。這個(gè)請求涉及的goro...
【關(guān)注公眾號】「syd3600520」 回復(fù)002 獲取Go相關(guān)學(xué)習(xí)資料 Mutex是一個(gè)互斥的排他鎖,零值Mutex為未上鎖狀態(tài),Mutex一旦被使用 禁止被拷貝。使用起來...
【關(guān)注公眾號】「syd3600520」 回復(fù)002 獲取Go相關(guān)學(xué)習(xí)資料 從計(jì)算機(jī)誕生到現(xiàn)在,編程語言的發(fā)展大致分為了三個(gè)階段 從打孔程序的機(jī)器語言 一系列指令、寄存器代碼的...
【關(guān)注公眾號】「syd3600520」 回復(fù)002 獲取Go相關(guān)學(xué)習(xí)資料 這篇文章打算跟大家聊聊Makefiles,作為一個(gè)后端開發(fā)者,熟練掌握Makefiles咖啡可以多喝...