百度公開課 – linux後台服務開發 – 筆記整理

來源:互聯網
上載者:User

昨晚聽完百度校園公開課,還得了個保溫杯,好開心.

現在把抄到的筆記整理下,東西不會很詳細,但足夠引出很多知識點

感謝營運部的顏工來湖大講課!

1 環遊linux

一些常用的linux命令: ssh cd pwd ls tab mkdir rm cp mv cat more less 

文本處理:head tail cat sort diff grep sed awk

重新導向: | > >>

其它: alias find scp wget ps top vmstat netstat  watch

vim

gcc 版本我特意問了 ,原來他們部門在用3.4.5版本

gcc常見錯誤:

underfind reference 找不到庫 -l庫名 -L庫目錄   

no such file or directory  找不到標頭檔 -I 標頭檔路徑 (i的大寫)

專案管理工具: Makefile 還有開源的Autoconf 百度的Commake

常用開發工具: valgrind strace Ltrace ccov Gtest

2 多線程

多線程:共用記憶體空間

優點:資料訪問方便 缺點:線程問題會影響整體,安全執行緒問題

多進程:獨立記憶體空間 

線程切換有開銷

開幾個線程的要點:線程數不要超過CPU個數

安全執行緒問題:線程調度的先後是由作業系統決定的,和代碼複雜度無關

互斥與同步: (1)訪問同一個資源,使用互斥鎖程式的串列 (2)使用條件變數保持同步

開銷: 鎖比運算要慢,但比磁碟IO要快

鎖的使用原則:

IO密集型程式:不要讓高速裝置等待低速裝置

CPU密集型程式:放大鎖的粒度,減少鎖的使用

線程池模型:

(1)單隊列:無序,池中的線程能夠運行任何任務,能夠最大化利用CPU

(2)多隊列:某些任務只能由特定的線程來運行,這個需要負載平衡

3 高效能網路編程

網路編程中有很多慢的地方

accept() 在等待

recv() 在等待

send() 在發送到網卡時 在空轉

(1)多線程同步IO設計模式

效率低 用於原理驗證

(2)單線程非同步IO設計模式 (單核時代最快)

(3)多線程非同步IO模式 多進程非同步IO模式 :充分發揮多核優勢

4多機系統和分布式系統

有點累, 沒抄筆記 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

Tags Index: