鎖是一個(gè)常見的同步概念,我們都聽說過加鎖(lock)或者解鎖(unlock),當(dāng)然學(xué)術(shù)一點(diǎn)的說法是獲?。╝cquire)和釋放(release)。恰好pthread包含這幾種鎖的API,而C11只包含其中的部分。接下來我主要通過pthread的API來展開本文。mutex(互斥量...
之前整理過一篇C20新特性的文章全網(wǎng)首發(fā)?。20新特性全在這一張圖里了,里面提到過latch、barrier和semaphore,但是沒有詳細(xì)介紹過三者的作用和區(qū)別,這里詳細(xì)介紹下。latch這個(gè)可能大多數(shù)人都有所了解,這就是我們經(jīng)常會(huì)用到的CountDownLatch。用于使...
↓推薦關(guān)注↓轉(zhuǎn)自:量子位?公眾號(hào)(QbitAI)程序bug也能負(fù)負(fù)得正嗎?還真可以。比如程序員們?cè)偈煜げ贿^的排序算法,通過兩個(gè)“bug”居然能歪打正著,實(shí)在令人匪夷所思。請(qǐng)看這位程序員寫的數(shù)組升序排序代碼:for?i?=?1?to?n?do??for?j?=?1?to?n?do?...
↓推薦關(guān)注↓文章目錄一、QUIC如何解決TCP的隊(duì)頭阻塞問題?1.1TCP為何會(huì)有隊(duì)頭阻塞問題1.2QUIC如何解決隊(duì)頭阻塞問題1.3QUIC沒有隊(duì)頭阻塞的多路復(fù)用二、QUIC如何優(yōu)化TCP的連接管理機(jī)制?2.1TCP連接的本質(zhì)是什么2.2QUIC如何減少TCP建立連接的開銷2....
↓推薦關(guān)注↓1.線程池原理我們使用線程的時(shí)候就去創(chuàng)建一個(gè)線程,這樣實(shí)現(xiàn)起來非常簡(jiǎn)便,但是就會(huì)有一個(gè)問題:如果并發(fā)的線程數(shù)量很多,并且每個(gè)線程都是執(zhí)行一個(gè)時(shí)間很短的任務(wù)就結(jié)束了,這樣頻繁創(chuàng)建線程就會(huì)大大降低系統(tǒng)的效率,因?yàn)轭l繁創(chuàng)建線程和銷毀線程需要時(shí)間。那么有沒有一種辦法使得線程可...
↓推薦關(guān)注↓大家好,今天給大家分享一篇關(guān)于Cache的硬核的技術(shù)文,基本上關(guān)于Cache的所有知識(shí)點(diǎn)都可以在這篇文章里看到。關(guān)于Cache這方面內(nèi)容圖比較多,不想自己畫了,所以圖都來自《ComputerArchitecture:AQuantitativeApproach》。這是一...
緣起近期排查了一個(gè)問題,epoll驚群的問題,起初我并不認(rèn)為這是驚群導(dǎo)致,因?yàn)閺默F(xiàn)象上看,只是體現(xiàn)了CPU不均衡。一共fork了20個(gè)Server進(jìn)程,在請(qǐng)求負(fù)載中等的時(shí)候,有三四個(gè)Server進(jìn)程呈現(xiàn)出比較高的CPU利用率,其余的Server進(jìn)程的CPU利用率都是非常低。中斷,...
〇、本文寫作背景大約2年前,在騰訊內(nèi)網(wǎng),筆者和很多同事討論了GPU虛擬化的現(xiàn)狀和問題。從那以后,出現(xiàn)了一些新的研究方向,并且,有些業(yè)界變化,可能會(huì)徹底顛覆掉原來的一些論斷。但這里并不是要重新介紹完整的GPU虛擬化的方案譜系。而是,我們將聚焦在英偉達(dá)GPUCUDA計(jì)算領(lǐng)域,介紹下我...
眾所周知,C并不是一種流行的Web開發(fā)語言,究其原因有很多:語言門檻高、使用難度大、開發(fā)效率低......話雖如此,但隨著Emscripten的成熟,未來C在Web方面會(huì)發(fā)揮更大的潛能,尤其是游戲、3D應(yīng)用等方面。有關(guān)CWeb相關(guān)的框架有不少,下面進(jìn)行了簡(jiǎn)單的整理,并按照“Sta...
說起Web開發(fā),大多數(shù)人會(huì)想到Java、Python、Golang...?因?yàn)樗鼈兊闹髁鱓eb框架有很多,Java有非常知名的Spring全家桶,Python有大而全的Django、小而精的Flask、高性能的Tornado,Golang也有快速靈活的Gin、Echo等框架。相比...
當(dāng)我每了解一個(gè)新技術(shù)或者新框架的時(shí)候,我都想要先把名字概念弄懂是什么,可見概念對(duì)于我們的幫助非常大。計(jì)算機(jī)網(wǎng)絡(luò)中的概念也是非常龐雜,理解起來比較困難,所以這里,我給大家匯總了計(jì)算機(jī)網(wǎng)絡(luò)中89個(gè)常見的概念,希望對(duì)你有所幫助。主機(jī):計(jì)算機(jī)網(wǎng)絡(luò)上任何一種能夠連接網(wǎng)絡(luò)的設(shè)備都被稱為主機(jī)或...
↓推薦關(guān)注↓std::set/std::map(以下用std::map代表)是常用的關(guān)聯(lián)式容器,也是ADT(抽象數(shù)據(jù)類型)。也就是說,其接口(不是OO意義下的interface)不僅規(guī)定了操作的功能,還規(guī)定了操作的復(fù)雜度(代價(jià)/cost)。例如set::insert(iterat...
一、前言這篇文章來聊聊大名鼎鼎的GDB,它的豪門背景咱就不提了,和它的兄弟GCC一樣是含著金鑰匙出生的,在GNU的家族中的地位不可撼動(dòng)。相信每位嵌入式開發(fā)工程師都使用過gdb來調(diào)試程序,如果你說沒有用過,那只能說明你的開發(fā)經(jīng)歷還不夠坎坷,還需要繼續(xù)被BUG吊打。我們都知道,在使用...
本文的目的是通過隨機(jī)截取的一段網(wǎng)絡(luò)數(shù)據(jù)包,然后根據(jù)協(xié)議類型來解析出這段內(nèi)存。學(xué)習(xí)本文需要掌握的基礎(chǔ)知識(shí):網(wǎng)絡(luò)協(xié)議C語言Linux操作抓包工具的使用其中抓包工具的安裝和使用見下文:《一文包你學(xué)會(huì)網(wǎng)絡(luò)數(shù)據(jù)抓包》一、截取一個(gè)網(wǎng)絡(luò)數(shù)據(jù)包通過抓包工具,隨機(jī)抓取一個(gè)tcp數(shù)據(jù)包科萊抓包工具解...
在我們?nèi)粘9ぷ髦?,為了?yàn)證開發(fā)的功能,比如:文件上傳功能或者算法的處理效率等,經(jīng)常需要一些大文件進(jìn)行測(cè)試,有時(shí)在四處找了一頓之后,發(fā)現(xiàn)竟然沒有一個(gè)合適的,雖然Linux中也有一些命令比如:vim、touch等可以創(chuàng)建文件,但是如果需要一個(gè)100G或者1T的大文件,這些命令就顯得力...
289117336
Tronlong創(chuàng)龍
13030203448
大有可為
MXX1597759
xingnan123
xiaoguaixh
Y0825
LorenandGabriel
ilovenaibao
bluesky0318
liqinglong1023