通過對比說明:
對比維度 | 多進程 | 多線程 | 優勢 |
內存、CPU | 系統需要分配額外的資源。上下文切換複雜,CPU利用率低 | 較小的開銷,CPU利用率高 | 線程佔優 |
數據共享 | 多進程數據都是相互獨立的,需要通過IPC共享數據(如共享內存)。 | 多線程共享程序的全局變量,堆,文件資源等,訪問方便。 | 線程佔優 |
可靠性 | 多進程間互不影響,一個進程異常掛掉,其他進程還可以工作。如Samba,FTP, SSH服務端程序都是採用多進程設計 | 其中一個線程掛掉,整個程序終止 | 進程佔優 |
通過對比說明:
對比維度 | 多進程 | 多線程 | 優勢 |
內存、CPU | 系統需要分配額外的資源。上下文切換複雜,CPU利用率低 | 較小的開銷,CPU利用率高 | 線程佔優 |
數據共享 | 多進程數據都是相互獨立的,需要通過IPC共享數據(如共享內存)。 | 多線程共享程序的全局變量,堆,文件資源等,訪問方便。 | 線程佔優 |
可靠性 | 多進程間互不影響,一個進程異常掛掉,其他進程還可以工作。如Samba,FTP, SSH服務端程序都是採用多進程設計 | 其中一個線程掛掉,整個程序終止 | 進程佔優 |
最近要設置個RTC,涉及到BCD碼的轉換,這裏記錄一下。 1、宏定義 #define BCD_TO_DEC(x) ((x >> 4) * 10 + (x & 0x0F))