1. 程式人生 > >JAVA併發程式設計從入門到精通-第一章

JAVA併發程式設計從入門到精通-第一章

多執行緒學習基礎第一課20170528----------------《JAVA併發程式設計從入門到精通》
1 檢視CPU型號
cat /proc/cpuinfo  | grep name |cut -f2 -d:|uniq -c

2 檢視CPU核心數
grep 'core id' /proc/cpuinfo | sort -u |wc -l

3 檢視CPU執行緒數
cat /proc/cpuinfo  | grep name |cut -f2 -d:|uniq -c

4 CPU時間片輪轉機制(RR排程):關鍵點-時間片長度:時間片設定過短導致程序切換頻繁降低CPU效率;過長引起短互動的請求響應變差 100ms為合理的折中。

5 程序和執行緒的區別:程序是程式進行資源分配的最小單位,程序間互相獨立,程序內的執行緒共享該程序的所有資源,執行緒是CPU排程的最小單位,依賴程序存在。

6 並行執行:高速公路A上有8道,當車輛數目不大於8時,可以並行
    併發執行:一定要加上單位時間(否則無意義)

7 吞吐量:
  網路吞吐量:節點之間提供給應用的剩餘頻寬 影響因素-防火牆內網絡卡,以程式演算法(軟體)實現的效率低,純硬體防火牆吞吐量高;
  系統吞吐量:系統單位時間內處理的資訊量,以每個時間段處理的程序數度量    
 
8 高併發程式設計的意義和注意事項:
  意義:1充分利用CPU,2加快使用者響應時間(靜態頁面子域名載入-程式會多開執行緒提升速度,,3程式碼模組化非同步化簡單化-(Android開發主執行緒UI和按鈕分模組)
  注意:安全性、死迴圈、執行緒過多耗盡資源(記憶體和CPU過度切換)造成伺服器宕機 >>>>>解決方案:資源池

9 分散式和並行運算和併發運算的區別  

10 作業系統不一致採取不同併發機制。