Slide 19
Slide 19 text
Lock ͷ᠘ 0: ղ์࿙Ε
• ͢ͰʹϩοΫ͕ѲΒΕ͍ͯΔͱɺ୭ϩοΫͰ͖ͳ͍
• ϩοΫͷղ์͠Ε͕ҰՕॴͰ͋ΔͱγεςϜશମͷఀࢭʹ, ྫ͑͜ͷΑ͏ͳ:
1. ୯ʹղ์ॲཧΛॻ͖Εͨ
2. ޙ͔Β݅ذॲཧΛͨ͠෦Ͱղ์Ε
3. ྫ֎ൃੜ࣌(ҟৗൃੜ࣌)ʹղ์͢ΔͨΊͷϑΥϩʔॲཧ͕ͳ͔ͬͨ
4. ϑΥϩʔॲཧॻ͍͕ͯ͋ͬͨɺͦͷϑΥϩʔॲཧ్͕தͰҟৗऴྃ͢Δ͜ͱ͕͋ͬͨ
5. εϨουڧ੍ऴྃ࣌ʹղ์͞Εͳ͍༷ͩͬͨ
• synchronised (Java), lock (C#), RAII (C++) ͱ͍ͬͨݴޠػೳ͕͑Δہ໘Ͱੋ͕ඇͰ͏͠
• ͨͩ͠OSɾݴޠॲཧܥɾϥΠϒϥϦͷݶքΛ͖ͪΜͱௐͯˍݕূͯ͠͏͜ͱ (ಛʹ্ه 3, 4, 5)
• ݴޠػೳ͕͑ͳ͍ہ໘Ͱɺ্هͷΑ͏ͳ͋ΒΏΔέʔεΛఆͯ͠ॻ͘͠
19