46 在Windows系統中,互斥鎖(mutex)的特性為何?
(A) 只能用於同一程序內
(B) 可以跨程序使用
(C) 不需要命名
(D) 不可以等待

答案:登入後查看
統計: A(2), B(6), C(0), D(0), E(0) #3399893

詳解 (共 2 筆)

#7319149

【第一步:找關鍵字】

互斥鎖(Mutex, Mutual Exclusion)
→ 用來「一次只允許一個人使用資源」

Windows 系統
→ 特別注意:Windows 的 mutex 支援「跨程序(process)」

關鍵觀念:
?「Mutex 不只是執行緒內,也可以跨程序」

【第二步:白話翻譯】

這題在問:
?「Windows 裡面的 mutex(鎖),是只能自己程式用,還是不同程式之間也能共用?」

【第三步:解題思路】

這題在考什麼觀念?

? Windows 同步機制(Mutex)是否支援「跨程序同步」

解題步驟

  1. 了解 Mutex 功能
    → 控制「一次只有一個人用資源」

  2. Windows 特性
    → Mutex 可以「命名(Named Mutex)」

  3. 命名的意義
    → 不同程式可以用同一個名字找到同一把鎖

? 這就是「跨程序同步」

原理與規則

Mutex(互斥鎖)是什麼?
→ 一種同步工具,確保「同一時間只有一個執行單位進入臨界區」

Windows 特點:

  • 支援 Named Mutex(具名互斥鎖)

  • 可以在不同程序之間共享

生活比喻:

想像一把「公司共用鑰匙」:

  • 沒名字 → 只有自己知道(同程序)

  • 有名字 → 大家都知道在哪(跨程序)

? Windows mutex = 可以「取名字」的鎖

【第四步:選項分析】

  • (A) 只能用於同一程序內
    ❌ 錯
    → Windows mutex 可以跨程序

  • (B) 可以跨程序使用
    ✅ 正確
    → 因為有 Named Mutex 機制

  • (C) 不需要命名
    ❌ 錯
    → 雖然可以不命名,但「跨程序」一定要命名
    → 這不是 mutex 的特性重點

  • (D) 不可以等待
    ❌ 錯
    → Mutex 一定可以等待(WaitForSingleObject)
    → 這是基本功能

【觀念補充與延伸】

核心觀念定位

這題屬於:
? 作業系統 → 同步機制(Mutex / Semaphore)
? 常考「跨程序 vs 同程序」

法條或定義

Mutex(互斥鎖)
→ 一種同步機制,用來保護「臨界區(critical section)」

白話:
? 讓資源「一次只給一個人用」

觸類旁通(舉一反三)

對比概念:

  • Critical Section
    → 只能同一程序內

  • Mutex
    → 可以跨程序(Windows 特性)

? 超常考對比!

變化題型:

  1. 問 mutex vs semaphore 差異

  2. 問 Windows API(CreateMutex)

  3. 問 Named vs Unnamed

【記憶口訣】

?「Mutex 有名字,跨程序可用」

或:

?「有名共享,無名自用」

【常見陷阱】

學生最容易搞混的地方

  • 把 mutex 當成只能 thread 用

  • 跟 critical section 混在一起

心理盲點

直覺認為「鎖就是程式內用」
? 忽略 Windows 的 Named 機制

避坑指南

看到:

  • Windows

  • Mutex

? 優先想到:
「可以跨程序」

0
0
#6786477
題目解析 在Windows系統中,互斥...
(共 887 字,隱藏中)
前往觀看
0
0