listen(backlog)數值代表的含義?
監聽變主動為被動,backlog指定最多允許多少個客戶連線到伺服器。它的值至少為1。收到連線請求後,這些請求需要排隊,如果佇列滿,就拒絕請求
。請注意,最大限制是取決於作業系統,ubuntu上預設是128
tcp服務端recv解堵塞的兩種方式?
1、收到客戶端傳送的資料
2、客戶端關閉了套接字
可以通過判斷收到資料的長度來判斷客戶端是否下線,長度為0代表已下線。
什麼是多工?
簡單地說,就是作業系統可以同時執行多個任務
。實現多工有多種方式,執行緒
、程序、協程
。
並行和併發的區別?
併發:指的是任務數多餘cpu核數,通過作業系統的各種任務排程演算法,實現用多個任務「一起」執行(實際上總有一些任務不在執行,因為切換任務的速度相當快,看上去一起執行而已)
並行:指的是任務數小於等於cpu核數,即任務真的是一起執行的
真的多工叫並行,假的多工叫併發。
什麼是執行緒?
可以簡單理解為同一程序中有多個計數器,每個執行緒的執行時間不確定,而每個程序的時間片相等,執行緒是作業系統排程執行的最小單位
執行緒的建立步驟
import threading
# 建立乙個執行緒物件
t1 = threading.thread(target=func_name, args=(num,), name=」子執行緒名字」)
# 建立乙個執行緒並啟動
t1.start()
# 等待子執行緒執行完畢之後再繼續向下執行主線程
t1.join()
備註:主線程會等待子執行緒結束之後才會結束,主線程一死,子執行緒也會死。執行緒的排程是隨機的,並沒有先後順序。
列舉函式enumerate的用法
enumerate()是python的內建函式,在字典上是列舉、列舉的意思。用於將乙個可遍歷的資料物件(如列表、元組或字串)組合為乙個索引序列,同時列出資料和資料下標,一般用在 for 迴圈當中。通過threading.enumerate()就可以獲取執行緒列表。
互斥鎖的運用
由於多執行緒之間共享全域性變數就會導致出現資源競爭的問題,為了避免這種競爭出現,利用互斥鎖可以實現執行緒同步。
# 建立鎖
mutex = threading.lock()
# 加鎖
mutex.acquire()
# 釋放鎖
mutex.release()
什麼是死鎖?
什麼是程序?
程式是靜態的,當程式執行起來就叫做程序。是作業系統分配資源的基本單元。
python就業班 http協議
http 超文字傳輸協議,基於tcp協議 瀏覽器向伺服器傳送的請求格式如下 伺服器給瀏覽器回送的資料格式如下 http 1.1 200 ok http協議為1.1版本,bdpagetype 1 bdqid 0xb2c1702b000047f9 cache control private connec...
Python基礎班每日整理(二)
02 python基礎 day02 1.python中注釋的作用?單行和多行注釋 在程式中對某些 進行標註說明,增強程式的可讀性。單行注釋 以 號開頭,再加乙個空格,後面跟上注釋內容 todo注釋 todo 注釋內容 備忘功能,可以記錄待開發的程式 多行注釋 一對連續的三個雙引號 注釋內容 2.計算...
最新傳智播客Python基礎班 就業班教程
課程介紹 這是乙個基於vue2.0的 實戰開發類課程,適用於對vue有些許基礎的同學。課程會手把手教你如何在專案中使用vue及相關外掛程式實現乙個完整的購物流程。從商品的展示到加入購物車,再到商品的結算 訂單等等,一應俱全。知識點 vue基礎元件庫 vuex vue router vue cli以及...