前言
當一個專案越來越大,在開發新產品時同時要兼顧程式碼品質會越來越困難,今天要介紹 Ndepend 是一個很優秀靜態分析 .Net 專案好物,
當一個專案越來越大,在開發新產品時同時要兼顧程式碼品質會越來越困難,今天要介紹 Ndepend 是一個很優秀靜態分析 .Net 專案好物,
我之前有寫透過 lock or CAS 來防治,Racing condition 問題,但如果這個問題延深到多台服務器甚至是 micor-services 架構我們要怎麼處理資料問題呢?
下面程式在單體服務或應用程式不會出問題,但如果服務器有多台問題可就大了,因為下面的 lock 只限於單體 Server 上
因為工作需要最近在研究 postgresql DB,發現跟 sql-server 相比有許多不同之處,所以一開始就先研究 Page 差別,沒想到還真的有不少細節上的差異
在postgresql DB Page size 預設是 8KB
我們想要看page使用大小在 Sql-Server 可以用 DBCC
命令在 postgresql DB 沒有 DBCC
還好有其他方式可以查看 Page 儲存原理
如果要了解存儲怎麼辦呢?
在處理高併發系統架構時,非同步是一個很好的手段和提升效率的方式.
我今天跟大家分享,如何利用 MQ 搭配 Worker Pool 來提高系統吞吐量且又不失彈性
本篇會包含兩個部分解說
k8s前身是Google開發borg系統,用於管理Google系統,後面由許多borg核心開發人用利用Go語言改寫就造就Kubernetes
可以根據聲明式設定,管理、擴展我們的容器化應用編排系統
k8s協助我們方便掌控複雜容器系統架構,具有良好伸縮性
我們在撰寫C#時常常會聽到CLR(Common Lnguage Rumtime),但對於CLR又認知多少呢?
本篇會跟大家介紹CLR基本且核心的物件
你知道object lock底層怎麼實作,可重入鎖是底層是怎麼運作的嗎?
你知道Syncblk底層是幹嘛的嗎?
本篇就跟大家分享這些細節.
假如你寫過多執行緒系統一定會看過volatile
,但你對他的了解有多少?
MSDN對於volatile關鍵字解釋如下.
volatile 關鍵字指出某個欄位可能是由同時執行的多個執行緒所修改。 編譯器、執行階段系統,甚至硬體都有可能基於效能因素,而重新排列對記憶體位置的讀取和寫入。 宣告為 volatile 的欄位不受限於這些最佳化考量。 加入 volatile 修飾詞可確保所有的執行緒都會依執行寫入的順序,觀察任何其他執行緒所執行的暫時性寫入。
MSDN上寫一堆文謅謅的解釋,如果沒有相對應OS或底層概念會很難理解上面敘述
在多執行緒系統中,Thread的執行和長短是交由OS來幫我處理了
假如有一個面試題目是
要求:利用三個Thread並按照A,B,C順序打印出20次資訊,中間不能錯號
ex:
A
B
C
A
B
C
你會怎麼完成?