2012-11-24 45 views
0

我在高性能計算上觀看presentation,並從24:55開始,其中一位演示者聲明,通過獲取鎖定同步需要上下文切換到操作系統的內核(甚至不是虛擬機的一個if該應用程序運行在一個)。我將很感激爲什麼會出現這種情況的簡要說明,以及爲什麼無法在JVM內處理它(在Java應用程序的情況下)。爲什麼同步需要上下文切換到OS?

回答

0

從24:55左右的簡短視頻看來,他們似乎在討論「獲取互斥輸入臨界區 - 釋放互斥量」。

同步依賴於獲取互斥鎖是一個原子操作的事實。由於搶佔發生在內核中,所以內核需要處理互斥鎖,以便在多進程試圖獲取/釋放互斥鎖時保證它的原子性。

詳情請參閱這裏:Are mutexes really slower?