socket(簡稱 套接字) 是程序間通訊乙個工具,它能實現把資料從一方傳輸到另外一方,完成不同電腦上程序之間的通訊, 它好比資料的搬運工。udp是乙個簡單的面向資料報的運輸層協議.
缺點 使用場景
傳送廣播訊息
tcp:英文全拼(transmission control protocol)簡稱傳輸控制協議,它是一種面向連線的、可靠的、基於位元組流的傳輸層通訊協議.
缺點 使用場景
tcp與udp的區別
tcp面向連線; udp是不面向連線;
tcp提供可靠的資料傳輸,也就是說,通過tcp連線傳送的資料,無差錯,不丟失,不重複,且按序到達;udp不保證可靠的資料傳輸,容易出現丟包情況;
tcp需要連線傳輸速度慢,udp不需要連線,傳輸速度快
tcp不支援發廣播;udp支援發廣播
tcp對系統資源要求較多,udp對系統資源要求較少。
tcp適合傳送大量資料,udp適合傳送少量資料
tcp有流量控制,udp沒有流量控制
功能對比
定義對比
關係對比
區別 優缺點
多執行緒:
協程: 協程切換任務資源很小,效率高
多執行緒一般使用在進行io操作時
1、比如乙個業務邏輯需要並行的操作幾個檔案的讀寫,還得是同步執行,不能非同步執行,這時候可以開啟多執行緒來讀寫這幾個檔案
2、檢視中需要請求多個第三方介面,仍然也是要求同步的,不能非同步,這時候也可以用多執行緒去並行請求多個第三方介面
3、比如在訂單系統中,訂單提交後就要修改商品的庫存、商品的銷量等這樣的操作
兩者用法相同,
不同的是range返回的結果是乙個列表,
而xrange的結果是乙個生成器,
前者是直接開闢一塊記憶體空間來儲存列表,
後者是邊迴圈邊使用,只有使用時才會開闢記憶體空間,
所以當列表很長時,使用xrange效能要比range好。
celery是基於python實現的乙個非同步任務的排程工具,同時還是乙個任務佇列,主要用於處理耗時任務.
為什麼使用訊息佇列
在高併發環境下,由於來不及同時處理,請求往往會發生堵塞,通過使用訊息佇列,我們可以非同步處理請求,從而緩解系統的壓力
使用場景 缺點
系統可用性降低、系統複雜性提高、一致性問題
python後端面試題
1.說說python高併發解決方案?答案 1.使用多程序,避免使用python多執行緒。2.使用協程 併發框架 需要提到gevent tornado 只適用於web 3.使用其他語言,如c語言,來編寫多執行緒併發的程式,使用python的膠水特性。2.談談python的迭代器 生成器 裝飾器 答案 ...
web面試題集合
4 減少cookie大小 cookie被用來做認證或個性化設定,其資訊被包含在http報文頭中,對於cookie我們要注意以下幾點,來提高請求的響應速度,去除沒有必要的cookie,如果網頁不需要cookie就完全禁掉 將cookie的大小減到最小 注意cookie設定的domain級別,沒有必要情...
python語法面試題 python面試題
1.去重,集合 集合的乙個重要特點是 自動去除重複的值 li 1,2,3,1,1,2,2,3,3 去除重複的元素 set set li 轉換為集合,因為集合會自動去重。print set li list set 將集合轉換為列表print li 2.生成器 規則 生成器函式,或者生成器表示式,在呼叫...