摘要:讀碼農翻身一什么是線程線程屬于進程,與該進程中的其它線程共享該進程的資源變量指令等。因為處于線程池中的線程實際上是自由狀態,處于等待分配任務狀態。而前面講到的三個狀態是針對帶有任務的線程而言。
讀《碼農翻身》(一) 什么是線程?
線程屬于進程,與該進程中的其它線程共享該進程的資源(變量、指令等)。
線程可以理解為計算機中處理任務的最小單位。
線程有三個狀態: 就緒、運行、等待。理論上,線程在被創建并執行完分配給它的任務后就會被銷毀。所以線程只有這三個狀態。
所以,線程池中的線程不算在內。因為處于線程池中的線程實際上是自由狀態,處于等待分配任務狀態。而前面講到的三個狀態是針對帶有任務的線程而言。
就緒:拿到任務后準備去執行;
運行:獲取CPU使用權后,CPU執行線程中的指令;
等待:碰到耗時的I/O任務時,線程會先讓出CPU,處于等待I/O結果返回的狀態;
TCP/IP三次握手:
客戶端向服務端發送建立連接的請求;
服務端收到客戶端請求建立連接的請求后,向客戶端發送同意建立連接的請求;
客戶端收到服務端發送的同意連接請求后,向服務端發送收到信息的確認;
經過三次握手后,客戶端就會開始向服務端傳送數據。這三次握手的目的是為了在客戶端和服務端之間建立一個信息傳送通道,確認雙方的收發信息能力是OK的。實際上,經過第二次握手后,已經可以斷定雙發的收發信息能力OK,第三次握手只是為了消除服務端對自己的發信能力和客戶端的收信能力的擔憂而已。
在TCP/IP連接中,較大的數據會拆分成較小的數據塊分開傳送。每個數據塊都有相應的序號,如果某個數據快傳輸失敗,則會再重新傳送一次。在接收端,只有在成功接收到前一個序號的數據塊,才會對客戶端發送收到當前數據的確認信息。否則,即使收到了也不會發送確認信息,而是等待接收前面的數據塊。
CPUCPU是一個思考速度飛快但是記憶能力非常脆落的大腦。它的時間單位是納秒,一個時間單位內就能執行一個指令。
CPU可以看作一個工人,一個個的進程可以看作不同的工作臺,工作臺上存儲著進程被分配的資源。 不同的工作臺處理不同的任務,CPU在不同的進程間切換,就好比這個工人在不同的工作臺之間來回變動。
CPU在工作臺處理任務的時候, 實際上就是在執行程序員編寫的程序。這里的程序實際上就是由:順序、分支、循環組成的任務流程。
我們都知道,CPU執行的程序,都來自內存。但是內存的讀取速度遠遠落后于CPU,為此對于那些在近期內經常用到的數據會存在CPU的緩存中。CPU中的寄存器便是用來做這個的。進一步提高效率,CPU實際結構體系遠比這個復雜。CPU還存在L1,L2和L3三級緩存。
多任務系統實際生活中,我們都知道CPU可以同時處理大多個任務。這實際上是內存中被裝入多個程序,CPU在這些程序之間來回切換執行。因為程序在內存中存儲的位置不同,所以CPU執行每個程序中指令時,都需要獲取指令在內存中的實際地址。獲取實際地址的方法分為兩種:
靜態地址定位:在指令進入CPU前,將地址提前計算好一并交給CPU;CPU拿到后直接執行即可;
動態地址定位: 在CPU運行指令之前,通過基址+指令地址來獲取指令在內存中的實際位置;
以上三點僅僅書中很少的一部分內容啦,實際上在我看過這段內容中,還有更多的計算機科學相關的設計思想,等待有合適 的時機在補回來。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/62049.html
摘要:原來這是之父寫的一篇戰斗檄文,里邊充滿了對面向對象的批判。沒想到支持函數式編程的居然給自己出了一道面向對象的題,大為驚訝。拼手速了我的圖書策劃人說這個應該是今年最后一次粉絲福利,錯過了再等一年也未必有了 又是周末,編程語言三巨頭Java, Lisp 和C語言照例在Hello World咖...
摘要:看完了編碼,我會推薦我的學生再深入一步,看一看深入理解計算機系統,它把操作系統,計算機組成原理,數字電路,編譯原理,網絡,計算機體系結構等程序員需要了解的核心知識匯集在一起,讓你迅速的打下扎實的基礎。 假如我是計算機系老師, 我會先讓我的學生先去讀一下《編碼:隱匿在計算機軟硬件背后的語言》這本書, 搞明白一個個簡單的邏輯門電路到底是怎么組成計算機的, 弄清楚計算機軟件語言和硬件之間到底...
摘要:看起來沒有集合框架,線程,等那么耀眼,但它可是很多框架的基礎啊回復反射查看相關文章,先把基礎學會,后面的得用到它。 回頭看看, 我進入Java 領域已經快15個年頭了, 雖然學的也一般, 但是分享下我的心得,估計也能幫大家少走點彎路。[入門]我在2001年之前是C/C++陣營, 有C和面向對象的基礎, 后來轉到Java ,發現沒有指針的Java真是好簡單, 另外Java 的類庫好用的讓...
閱讀 841·2021-09-07 09:58
閱讀 2698·2021-08-31 09:42
閱讀 2870·2019-08-30 14:18
閱讀 3096·2019-08-30 14:08
閱讀 1842·2019-08-30 12:57
閱讀 2768·2019-08-26 13:31
閱讀 1308·2019-08-26 11:58
閱讀 1063·2019-08-23 18:06