6. ロックによる並列プログラミングの問題
• Deadlock
• 合成不可能
Thread1:
lock
x
lock
y
write
x
write
y
unlock
y
unlock
x
Thread2:
lock
x
lock
y
read
x
read
y
unlock
y
unlock
x
Thread2’:
lock
y
lock
x
read
x
read
y
unlock
x
unlock
y
Function1:
lock
x
read
x
unlock
x
Function2:
lock
x
write
x
unlock
x
Function3:
lock
x
read
x
write
x
unlock
x
Function3’:
Function1
Function2
6