談到內(nèi)存對齊,早年間玩Java的時(shí)候就能偶爾打打交道车份,為此Java8還提供了個(gè)語法糖@Contended來幫助我們解決高速緩存cacheline內(nèi)存未對齊的偽共享問題。不過G...
![240](https://cdn2.jianshu.io/assets/default_avatar/15-a7ac401939dd4df837e3bbf82abaa2a8.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
談到內(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咖啡可以多喝...