引子 每當我打開筆記本電腦、準備來一把愉快的lol排位之前,我總會先默默點開任務管理器,把一些無關的進程手動結束,以此減小電腦CPU和內存的壓力。 在生活和工作中,我們總是會在電腦特別卡的情況下關閉進程提高電腦反應速度,在本篇核心內容開啟之前,我們首先來對進程做一個大致的介紹。 進程 什么是進程? 我們的服務器只要保持開機狀態,就會存在許多大大小小的運行程序,而每個程序都有一個獨立的進程,進程和進程之間是相互獨立的。 假如說,程序是一堆代碼,進程就是支撐程序運行的過程。假如程序沒有運行,進程就不存在,而負責在服務器上跑進程的則是CPU。 雖然我們看著任務管理器中的這些進程會覺得它們是同時在后臺運行的,其實不然:一個CPU在同一時刻只能支持一個程序的進程,而之所以能夠運行這么多程序,來源于并發和并行兩種方式(當然也有人稱之為串行和并行),通常所說的并發,其實是一個CPU加上多道技術實現的;而并行,是多個CPU的運行(當然也可以多CPU多道)。 本文不對并發和并行做具體的介紹。 線程安全 線程安全是多線編程時的計算機程序代碼中的一個概念,線程安全的代碼會在多條線程并行的過程中,通過同步機制確保各線程都能夠正確且正常的執行,不會出現數據污染等意外狀況發生。 通過這段句釋,也許你仍然無法對線程安全形成具體概念,其實說到底,線程安全就是當多線程訪問發生時采用加密機制,保護在一個線程訪問該類的某個數據過程中,其他線程不能對其訪問直到該線程讀完才可以用,不會出現數據差錯或污染。